linq筛选重复记录
返回A表记录,如下:
aid name
2 peter
2 peter
3 donnie
list是返回以上的结果。
现在想通过linq,来筛选掉重复记录
得到最终结果为
2 peter
3 donnie
并以list返回……
请教!
------解决方案--------------------linq去重问题
http://www.cnblogs.com/8765h/archive/2012/03/01/2376345.html
------解决方案--------------------var query=list.Distinct();
如果要按照什么比较,写个比较器
参考http://blog.csdn.net/chinajiyong/article/details/8161944
http://www.cnblogs.com/aaa6818162/archive/2011/09/15/2177118.html
------解决方案--------------------自定义比较器:
public class UserComparer : IEqualityComparer<UserModels>
{
public bool Equals(UserModels t1, UserModels t2)
{
return (t1.aid== t2.aid && t1.name== t2.name);
}
public int GetHashCode(UserModels obj)
{
return obj.ToString().GetHashCode();
}
}
//调用
var list = list.Distinct(new UserComparer()).ToList()
------解决方案--------------------没那么麻烦
list.GroupBy(x => new { x.aid, x.name }).Select(x => x.First());