Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / linq asp.net mvc distinct / 25 сообщений из 35, страница 1 из 2
24.06.2014, 17:46
    #38678857
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
почему дистинкт не отрабатывает: выбираются все записи

(from X in dbContext.Table
where X.isOn== true
orderby X.Field
select new testclass( id = x.id, Type = X.Type, Field =X.Field ) ).Distinct()
...
Рейтинг: 0 / 0
24.06.2014, 17:48
    #38678858
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
distinct нужен по полям из testclass в table их больше
...
Рейтинг: 0 / 0
24.06.2014, 19:00
    #38678936
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09, в справке по методу Distinct() ясно сказано объект должен реализовать интерфейс IEquatable<T>и переопределить методы Equals и GetHashCode().
...
Рейтинг: 0 / 0
24.06.2014, 21:28
    #38679018
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
bazileBoris09, в справке по методу Distinct() ясно сказано объект должен реализовать интерфейс IEquatable<T>и переопределить методы Equals и GetHashCode().
на уровне то запросов?)


ТС запрос в студию какой уходить на скул
...
Рейтинг: 0 / 0
24.06.2014, 22:08
    #38679043
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
handmadeFromRu, насколько я понял testobject это не entity-класс и поэтому Distinct() срабатывает на стороне клиента. Отсюда и мой совет.
...
Рейтинг: 0 / 0
24.06.2014, 23:37
    #38679086
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
bazile,
чисто теоретически ну или кое где практический и если вспомнить как формируется хеш аноимов,
можно было извернуться таким способом ( по двум полям) ну конечно про id надо забыть ))
Код: c#
1.
Select(a => new { a.Field,a.Type}).Distinct()
...
Рейтинг: 0 / 0
24.06.2014, 23:39
    #38679088
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
наверное не хеш более прально, а как сравниваются анонимы
...
Рейтинг: 0 / 0
24.06.2014, 23:54
    #38679099
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Где-то в степи, через анонимный тип правильнее будет, согласен, т.к. тогда EF должен DISTINCT запрос генерировать. И если testclass это его собственный тип, то не составит труда промапить анонимный объект в экзмпляр testclass.
...
Рейтинг: 0 / 0
25.06.2014, 12:35
    #38679594
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
bazileГде-то в степи, через анонимный тип правильнее будет, согласен, т.к. тогда EF должен DISTINCT запрос генерировать. И если testclass это его собственный тип, то не составит труда промапить анонимный объект в экзмпляр testclass.

Промапить говорите.. а пример кода можно
...
Рейтинг: 0 / 0
25.06.2014, 13:18
    #38679642
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09,

Написали бы group by и не мучились.
...
Рейтинг: 0 / 0
25.06.2014, 13:46
    #38679678
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
PavluhaBoris09,

Написали бы group by и не мучились.

группировка нужна по нескольким параметрам, не вижу такой возможности в линках
...
Рейтинг: 0 / 0
25.06.2014, 13:56
    #38679696
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09группировка нужна по нескольким параметрам, не вижу такой возможности в линках
group x by new { x.Column1, x.Column2 }
...
Рейтинг: 0 / 0
25.06.2014, 14:00
    #38679702
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
...
Рейтинг: 0 / 0
25.06.2014, 14:40
    #38679788
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
группировка не выполняется.
...
Рейтинг: 0 / 0
25.06.2014, 14:45
    #38679799
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09группировка не выполняется.история похоже та же что и с дистинктом
...
Рейтинг: 0 / 0
25.06.2014, 15:38
    #38679922
dfdfdfdf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
блин. простейшая задача. на скл как два пальца.. а тут
...
Рейтинг: 0 / 0
25.06.2014, 16:10
    #38679985
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09,

Запрос сам возвращает что-нибудь?
...
Рейтинг: 0 / 0
25.06.2014, 16:28
    #38680023
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
PavluhaBoris09,

Запрос сам возвращает что-нибудь?

возвращает . все
...
Рейтинг: 0 / 0
25.06.2014, 16:40
    #38680047
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09возвращает . все


да сколько ж можно-то......

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
var q =  (from X in dbContext.Table
             where X.isOn== true 
             // orderby X.Field
             select new { x.id, X.Type, X.Field })
         .Distinct()
         .Select(x => new testclass( id = x.id, Type = X.Type, Field =X.Field ))
         .OrderBy(x => x.Field)
         .ToList();



забирай ,сдачи не надо.
...
Рейтинг: 0 / 0
25.06.2014, 16:43
    #38680054
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
так я мож чего не понимаю. вы пытаетесь в бд выполнить? покажите сгенерируемый запрос
ибо к примеру
Код: c#
1.
var temp= db.Table.Select(x=> new {x.Name}).Distinct();


сгенерит
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
[Distinct1].[C1] AS [C1], 
[Distinct1].[DomainName] AS [DomainName]
FROM ( SELECT DISTINCT 
	[Extent1].[DomainName] AS [DomainName], 
	1 AS [C1]
	FROM [dbo].[SaaSDomain] AS [Extent1]
)  AS [Distinct1]


и все сработает как бы, правда не понятно что тут делает 1) но эт уже еф и его замороты
...
Рейтинг: 0 / 0
25.06.2014, 16:45
    #38680060
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
упс таблицы не выпилил)
...
Рейтинг: 0 / 0
25.06.2014, 16:48
    #38680065
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
handmadeFromRuне понятно что тут делает 1) но эт уже еф и его замороты

вроде понятно

Код: c#
1.
2.
3.
var temp= db.Table.Select(x=> new {x.Name}).Distinct();

var temp= db.Table.Select(x=> x.Name).Distinct();



для EF есть разница.
...
Рейтинг: 0 / 0
25.06.2014, 16:54
    #38680081
Boris09
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
hVosttBoris09возвращает . все


да сколько ж можно-то......

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
var q =  (from X in dbContext.Table
             where X.isOn== true 
             // orderby X.Field
             select new { x.id, X.Type, X.Field })
         .Distinct()
         .Select(x => new testclass( id = x.id, Type = X.Type, Field =X.Field ))
         .OrderBy(x => x.Field)
         .ToList();



забирай ,сдачи не надо.

этот запрос возвращает все
...
Рейтинг: 0 / 0
25.06.2014, 16:58
    #38680088
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
hVostt окей буду знать.

тс ты можешь написать тут запрос который уходит в бд?
п.с. ты мне кажется как уже "Где-то в степи" заметил ты дистик делаешь с id, а оно если первичный ключ естественно разный
...
Рейтинг: 0 / 0
25.06.2014, 17:01
    #38680095
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
linq asp.net mvc distinct
Boris09этот запрос возвращает все

это значит, что все записи уникальны по набору полей. всё работает правильно, можно расслабить заднюю часть тела, и выпить чего-нить покрепче, скоро пятница, на улице солнце... вижу, что мозги всё равно не включаются, так зачем напрягать эту мышцу?
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / linq asp.net mvc distinct / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]