Linq Query Distinct по названию Distinct Throwing Exception - PullRequest
1 голос
/ 04 октября 2010

У меня есть простой запрос, в котором я хочу получить отличительные атрибуты, используя значение, сохраненное в свойстве «Атрибут». По какой-то причине я всегда получаю отличную операцию, которая не поддерживается для этой ошибки перегрузки.

var nounTypes = from c in query
                                join cna in ics.CatalogNounAttributes on c.CatalogId equals cna.CatalogId
                                join nta in ics.NounTypeAttributes on cna.NounTypeAttributeId equals nta.NounTypeAttributeId
                                join nt in ics.NounTypes on nta.NounTypeId equals nt.NounTypeId
                                select new { NounTypeName = nt.Name, Attributes = nt.NounTypeAttributes.Distinct() };

Я также хотел бы получить количество каждого атрибута, сгруппированного по значению "атрибут", где атрибут является свойством таблицы NounTypeAttributes

1 Ответ

1 голос
/ 04 октября 2010

Я полагаю, вы должны просто сказать nt.Distinct.

var nounTypes = from c in query
                                join cna in ics.CatalogNounAttributes on c.CatalogId equals cna.CatalogId
                                join nta in ics.NounTypeAttributes on cna.NounTypeAttributeId equals nta.NounTypeAttributeId
                                join nt in ics.NounTypes on nta.NounTypeId equals nt.NounTypeId
                                select new { NounTypeName = nt.Name, Attributes = nt.Distinct() };

Вам не нужно использовать Distinct.

Посмотрите на:

http://msdn.microsoft.com/en-us/vcsharp/aa336761.aspx#distinct2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...