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();
The both queries are return same value. but i don't know the differences. Please explain to me, which one is better. and why?
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.
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