0

我正在使用 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
4

1 回答 1

3

您可以使用相交。挺容易:

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 所提到的,您最好为您的表格创建一个更好的结构。

于 2012-11-29T03:05:56.947 回答