C# Linq/实体框架逻辑

C# Linq/实体框架逻辑,c#,linq,entity-framework,C#,Linq,Entity Framework,对linq来说很新但我有这个 public List<vwFolder> GetFoldersByUser(Guid UserId) { return dc.vwFolders.Where((x => x.userid == UserId || x.userid == null) && x.deletionstatecode == 0)

对linq来说很新但我有这个

 public List<vwFolder> GetFoldersByUser(Guid UserId)
 {
     return 
         dc.vwFolders.Where((x => x.userid == UserId || x.userid == null) 
                             && x.deletionstatecode == 0)
                     .ToList();
 }
公共列表GetFoldersByUser(Guid用户ID)
{
返回
其中((x=>x.userid==userid | | x.userid==null)
&&x.deletionstatecode==0)
.ToList();
}
我正在尝试返回以下位置的记录:

userid是我传入的userid或null 删除状态代码=0

虽然我的代码中似乎有语法错误,但不确定原因


谢谢

在我看来,你只需要把lambda放在括号外。试试这个:

public List<vwFolder> GetFoldersByUser(Guid UserId)
{
return dc.vwFolders.Where(x => (x.userid == UserId || x.userid == null) && x.deletionstatecode == 0).ToList();
}
公共列表GetFoldersByUser(Guid用户ID)
{
返回dc.vwFolders.Where(x=>(x.userid==userid | | x.userid==null)和&x.deletionstatecode==0.ToList();
}

在我看来,您只需将lambda放在括号外即可。试试这个:

public List<vwFolder> GetFoldersByUser(Guid UserId)
{
return dc.vwFolders.Where(x => (x.userid == UserId || x.userid == null) && x.deletionstatecode == 0).ToList();
}
公共列表GetFoldersByUser(Guid用户ID)
{
返回dc.vwFolders.Where(x=>(x.userid==userid | | x.userid==null)和&x.deletionstatecode==0.ToList();
}

检查括号。检查括号。