In theory, no. In reality, you will need to test on a case-by-case basis, and on a provider-by-provider bases. For a related (but slightly different) example, for a good long while in L2S, .Where(predicate).FirstOrDefault() and .FirstOrDefault(predicate) (which have the same semantic) did not have the same behaviour (in particular relating to identity-map shortcuts).

I expect it will be the same, especially since .Include (expands the result set) is in a bit of a separate categry than .Where (a predicate) but: the only way to verify would be to test it and compare the generated SQL and performance.

Related Articles