首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

用linq查询如何实现唯一distinct的查询效果

2012-09-17 
用linq查询怎么实现唯一distinct的查询效果有下面的语句,select distiinct name,pass, userid from users

用linq查询怎么实现唯一distinct的查询效果
有下面的语句,
select distiinct name,pass, userid from users where name like '%z' order by userid desc;
怎么用LINQ来实现这种查询的效果?

[解决办法]
初学者写一个,
var query= (from p in users 
where p.name.EndsWith("z")
group p by p.name into g
orderby p.userid descending
select new 

name=g.FirstOrDefault(),
pass=p.pass,
userid=p.userid 
};
[解决办法]

C# code
 public class UserComparer : IEqualityComparer<User>      {          public bool Equals(User u1, User u2)          {              return u1.Name==u2.Name;          }          public int GetHashCode(User u)          {              return u.ToString().GetHashCode();          }      }  var query=db.Users.Disctinct(new UserComparer());
[解决办法]
C# code
public class UserComparer : IEqualityComparer<User>      {          public bool Equals(User u1, User u2)          {              return u1.Name==u2.Name;          }          public int GetHashCode(User u)          {              return u.ToString().GetHashCode();          }      }  var query=db.Users.Where(u=>u.Name.EndWith("z"))          .OrderByDescending(u=>u.userid)          .Disctinct(new UserComparer()); 

热点排行