Difference between && and where condition in entity framework query

c# entity-framework if-statement linq performance

Question

Difference between and condition and two where condition in entity framework query

Code 1

I have using two where condition in my query

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

code 2

I have using && condition without using two where condition

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

  • What is the difference between code1 and code2????

The both queries are return same value. but i don't know the differences. Please explain to me, which one is better. and why?

1
7
9/12/2016 11:22:14 AM

Accepted Answer

If you open your query in LinqPad you will see that both queries

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

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

will result both in

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

There is no difference neither in performance nor in SQL query structure.

11
5/6/2015 7:35:35 AM

Popular Answer

From the documentation

Return value:

An IEnumerable that contains elements from the input sequence that satisfy the condition.

So the second where will only be applied to the records surviging the first where - which is identical to the && expression you built in code 2.

See: https://msdn.microsoft.com/de-de/library/bb534803%28v=vs.110%29.aspx



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow