我现在要写一个LINQ语句通过 一个外键ID去另外一个表查询数据,然后 要去掉重复的 var q = from f in db.PurchaseOrders select new { f.SupplierName, f.SupplierID };
List<Entity.PurchaseOrder> list = new List<Entity.PurchaseOrder>();
foreach (var item in q)
{
Entity.PurchaseOrder order = new Entity.PurchaseOrder();
order.SupplierID = item.SupplierID;
order.SupplierName = item.SupplierName;
list.Add(order);
}
return list;取出来还是有重复的数据,请问如果在里面用distinct 怎么实现,或者别的方法实现也行
List<Entity.PurchaseOrder> list = new List<Entity.PurchaseOrder>();
foreach (var item in q)
{
Entity.PurchaseOrder order = new Entity.PurchaseOrder();
order.SupplierID = item.SupplierID;
order.SupplierName = item.SupplierName;
list.Add(order);
}
return list;取出来还是有重复的数据,请问如果在里面用distinct 怎么实现,或者别的方法实现也行
参数名: argument 报这个错误
select new Entity.PurchaseOrder
{ SupplierName=f.SupplierName,SupplierID=f.SupplierID }).ToLiST();
return list.Distinct(new RowComparer ()); public class RowComparer : IEqualityComparer
{
public bool Equals(Entity.PurchaseOrder t1, Entity.PurchaseOrder t2)
{
return (t1.SupplierID == t2.SupplierID && t1.SupplierName== t2.SupplierName);
}
public int GetHashCode(Entity.PurchaseOrder t)
{
return t.ToString().GetHashCode();
}
}
{
public bool Equals(Entity.PurchaseOrder t1, Entity.PurchaseOrder t2)
{
return (t1.SupplierID == t2.SupplierID && t1.SupplierName== t2.SupplierName);
}
public int GetHashCode(Entity.PurchaseOrder t)
{
return t.ToString().GetHashCode();
}
}