Como o método "Where" do LINQ funciona?
Exatamente como o método "where" do LINQ é definido? Eu estou supondo que a implementação é algo como isto:
public static IEnumerable<T> Where ( this partialParent, Func<bla,bla> myDelegate )
Agora, se eu invocar o método Where assim:
from c in context.Con
where ( c.Col1 == c.Col2 )
select c
estou a adivinhar"c.Col1 == c.Col2"
é transmitido e algunsforeach
loop faz a verificação. Mas o que está acontecendo quando invoco onde é assim:
where ( c.Col1 == c.Col2 || c.Col3 == c.Col4 )
Os dois "cheques" são transmitidos como uma expressão inteira? Talvez esteja perdendo algo muito simples.