[C#]之间的区别 & & 和实体框架查询中的条件的位置

发布时间: 2017/2/27 4:23:54
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

之间的区别和条件和两个 where 条件在实体框架查询

代码 1

我有使用两个查询中的条件的位置

 dbContext.Projects.Where(p=>p.ProjectId!=ProjectId).Where(p=>p.Name==Name)
 .SingleOrDefault();

代码 2

我有使用 & & 而无需使用两个条件的条件的位置

  dbContext.Projects.Where(p=>p.ProjectId!=ProjectId &&  
  p.Name==Name).SingleOrDefault();

  • 代码 1代码 2之间的区别是什么???

两个查询都返回相同的值。但我不知道的差异。请解释对我来说,哪一个是更好。和为什么?

解决方法 1:

如果你打开你的查询在 LinqPad 你会看到这两个查询

dbContext.Projects.Where(p=>p.ProjectId!=ProjectId).Where(p=>p.Name==Name)

dbContext.Projects.Where(p=>p.ProjectId!=ProjectId && p.Name==Name);

将导致无论是在

SELECT [...]
FROM [...]
WHERE p.ProjectId <> someId AND p.Name = 'something'

没有既不是性能,也不是在 SQL 查询结构的差异。

官方微信
官方QQ群
31647020