我有一个简单的查询,我希望使用存储在“Attribute”属性中的值来获取属性。出于某种原因,我总是得到不支持此过载错误的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.NounTypeAttributes.Distinct() };
我还想得到按“属性”值分组的每个属性的Count,其中Attribute是NounTypeAttributes表上的属性。
答案 0 :(得分:1)
我相信你应该简单地说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