如何框架Linq查询此条件

时间:2012-10-16 09:06:30

标签: c# asp.net linq c#-4.0 linq-to-sql

我的表格文件和值:

IdFavorite :1,2,3,4,5

FavoriteName :Fav1,Fav2,Fav3,Fav4,Fav5

UserId :1,3,3,4,3

PublicFavorite :0,1,0,1,0

截至目前,我使用以下Linq查询获取用户ID

收藏名称列表
public IList<ReportFavorite> GetReportFavorites(int userId)
{
    return _reportFavoriteRepository.GetMany(x => x.UserId == userId).ToList();
}

现在,条件如上,我需要获得 PublicFavorite 所有的收藏夹名称是1.我需要Linq根据这个条件查询。感谢。

例如:如果我的用户ID 为3,那么我应该将收藏夹名称设为 Fav2 Fav3 Fav5 以及 Fav4 (因为 PublicFavorite 为1)

2 个答案:

答案 0 :(得分:1)

var res =
    from item in _reportFavoriteRepository
    where item.UserId == userId || item.PublicFavorite == publicFavorite
    select item.FavoriteName;

答案 1 :(得分:1)

我根据Jon的评论使用了以下代码。它按预期正常工作。

GetMany(x => x.UserId == userId || x.PublicFavorite == 1)