我正在使用linq to sql从我的mvc项目中的IQueryable对象中提取数据。在这种情况下,我试图找到用户有共同点的专辑。谢谢你的帮助。
Albums.Where(x=>x.userid == _userid && x.userid == _otheruserid);
//This will pull all the respected albums from each user.
//I just would like to pull the albums they have in common
答案 0 :(得分:3)
您可以使用Intersect。很简单:
Albums.Where(x=>x.userid ==_userid)
.Intersect(Albums.Where(x=>x.userid== _otheruserid));
编辑:
对于您提供的代码,您希望使用特定字段进行匹配,因为您无法为一个相册分配两个不同的用户。如果你想根据名字找到常见的专辑,你可以尝试使用它:
Albums.Where(x=>x.userid ==_userid).Select(x=>x.Name)
.Intersect(Albums.Where(x=>x.userid== _otheruserid).Select(x=>x.Name));
但正如@EvilPenguin所提到的,你最好为你的桌子创造一个更好的结构。