Я полагаю, что во втором случае тип myQuery
является IQueryable<Department>
, а не IEnumerable
. Если вам не нужно ничего специфичного для IQueryable, которое вы не можете сделать с IEnumerable, тогда они ведут себя одинаково.
Ключевое слово var
просто для удобства, когда компилятор может определить тип, не уточняя его. Так что вместо
MyReallyLongGenericClassName<SomeOtherType> myObject = new MyReallyLongGenericClassName<SomeOtherType>();
Вы можете просто написать var myObject = new MyReallyLongGenericClassName<SomeOtherType>();