皇宫来的数据集,不同,通过多列
-
22-08-2019 - |
题
只是想检查是否有办法做到不同的通过多列。在此先感谢!!!
顺便说一句,我发现一个伟大的皇宫的扩展 在这里, 但需要一些指导使用多个列
解决方案
好了,你可以先做投影:
var qry = db.Customers.Select(cust => new {cust.ID, cust.Name, cust.Region})
.Distinct();
或者在查询语法:
var qry = (from cust in db.Customers
select new {cust.ID, cust.Name, cust.Region}).Distinct();
这办?
其他提示
相反的鲜明可以使用GROUPBY,然后选择每一组的最顶部的记录
由邻在objEntity返回
group o by new { o.Field1, o.Field2, o.Field3, o.Field4, o.Field5 } into grp select grp.FirstOrDefault();
这会给你的 EntityObject 强>而不是在 AnonymousType 强>
这是“由多列不同的”你真正的意思是一组由。
当你要求不同,这意味着你通过使用在表中的所有列让所有的不同的行,或的基团。
如果你想只得到不同的分组为列的子集,然后通过你的子句中使用的一组,由指定的列组。然后,选择基团,因为你只需要一组的每个组密钥。
另一种简单的方法是创建一个独特的字符串。
var result = collection.DistinctBy(c => c.Field1 + "." + c.Field2 + "." + c.Field3);
VAR查询=(来自囊肿在db.Customers选择新的{cust.ID,cust.Name,cust.Region})。的GroupBy(X =>新的{x.Name,x.Region})。选择(Z => z.OrderBy(I => i.cust).FirstOrDefault())ToList();
不隶属于 StackOverflow