【发布时间】:2015-07-16 04:37:44
【问题描述】:
实体框架查询中and条件与两个where条件的区别
代码 1
我在查询中使用了两个 where 条件
dbContext.Projects.Where(p=>p.ProjectId!=ProjectId).Where(p=>p.Name==Name)
.SingleOrDefault();
代码 2
我使用 && 条件而不使用两个 where 条件
dbContext.Projects.Where(p=>p.ProjectId!=ProjectId &&
p.Name==Name).SingleOrDefault();
- code1和code2有什么区别????
两个查询都返回相同的值。但我不知道区别。请解释一下,哪个更好。为什么?
【问题讨论】:
-
如果您的用户 projectid 与您正在检查的 projectid 相同,它们就不会相同
-
@pala_ ,怎么样?你能解释一下吗?我不明白
-
看看生成的 sql 语句,你就会知道——我假设它们是相同的,所以没有区别。
-
没关系 - 我完全看错了
-
你想知道这个例子的区别或者你的问题是关于使用两个
where而不是&&的利弊?
标签: c# performance entity-framework linq if-statement