Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架中的条件_C#_Entity Framework - Fatal编程技术网

C# 实体框架中的条件

C# 实体框架中的条件,c#,entity-framework,C#,Entity Framework,我正在从事实体框架项目,我必须在dbContext中应用或设置条件 我尝试过这个方法,但它给我的错误是“运算符| |不能应用于lambda表达式类型的操作数” 我也试着用&&而不是| |,但它给了我同样的错误&,我怎么能为这个senario应用或条件呢? 我也尝试过不使用括号您需要这样做: return dataContext.Friends.Where(r => (r.ToUserId == touserid && r.FromUserId == fromuserid)

我正在从事实体框架项目,我必须在dbContext中应用或设置条件 我尝试过这个方法,但它给我的错误是“运算符| |不能应用于lambda表达式类型的操作数”

我也试着用&&而不是| |,但它给了我同样的错误&,我怎么能为这个senario应用或条件呢?
我也尝试过不使用括号

您需要这样做:

return dataContext.Friends.Where(r => (r.ToUserId == touserid && r.FromUserId == fromuserid) || (r.ToUserId == fromuserid && r.FromUserId == touserid))
                          .ToList();

唯一的区别是我删除了第二个
r=>
并修复了括号。

将其放入一个包含
|
的lambda中,而不是
|
使用两个单独的lamba:

return dataContext.Friends.Where(r => (r.ToUserId == touserid && r.FromUserId == fromuserid) || (r.ToUserId == fromuserid&& r.FromUserId == touserid)).ToList();
@赛义德

应该是

|| (r => r.ToUserId == fromuserid && r.FromUserId == touserid )).ToList();

注意“fromuserid&”之间的空格。

MAnoj,我的代码中有空格,我不知道为什么在发布时没有空格
|| (r => r.ToUserId == fromuserid&& r.FromUserId == touserid )).ToList();
|| (r => r.ToUserId == fromuserid && r.FromUserId == touserid )).ToList();