Используя Entity Framework 4 и учитывая:
ObjectSet<Thing> AllThings = Context.CreateObjectSet<Thing>;
public IQueryable<Thing> ByNameA(String name)
{
IQueryable<Thing> query = from o in AllThings
where o.Name == name
select o;
return query;
}
public IQueryable<Thing> ByNameB(String name)
{
return AllThings.Where((o) => o.Name == name);
}
Оба возвращают экземпляры IQueryable <>, и, таким образом, запрос не попадает на сервер, пока не будет вызвано что-то вроде ToList()
, верно?Разница заключается только в удобочитаемости, или в бэкэнде используются принципиально разные технологии?