Mar*_*ell 31
好吧,你可以先做投影:
var qry = db.Customers.Select(cust => new {cust.ID, cust.Name, cust.Region})
.Distinct();
Run Code Online (Sandbox Code Playgroud)
或者在查询语法中:
var qry = (from cust in db.Customers
select new {cust.ID, cust.Name, cust.Region}).Distinct();
Run Code Online (Sandbox Code Playgroud)
那呢?
Pra*_*eep 11
您可以使用Groupby,然后选择每个组的Top Most记录,而不是Distinct
在objEntity中从o返回
Run Code Online (Sandbox Code Playgroud)group o by new { o.Field1, o.Field2, o.Field3, o.Field4, o.Field5 } into grp select grp.FirstOrDefault();
这将为您提供EntityObject而不是AnonymousType
通过"多列不同",你真正的意思是一个群体.
当您要求distinct时,这意味着您将获得所有不同的行,或者使用表中的所有列获取组.
如果只想为列的子集获取不同的分组,请在子句中使用group by,指定要分组的列.然后,选择组,因为您只需要每组的一组键.