ADO.NET Entity Framework и Linq to Entities - PullRequest
3 голосов
/ 25 декабря 2008

Я запутался насчет Linq для сущностей. Это новое название Entity Framework или это разные вещи?

1 Ответ

4 голосов
/ 25 декабря 2008

LINQ to Entities - это на самом деле просто стандартные методы расширения LINQ (Where, OrderBy и т. Д.), Используемые для запроса Entity Framework. Это не единственный вариант; EF также может быть запрошен на пользовательском диалекте SQL - Entity SQL . В действительности методы расширения LINQ используются для генерации Entity SQL, а затем этот Entity SQL передается поставщику.

Таким образом, люди, внедряющие нового поставщика EF (поскольку он расширяемый), должны беспокоиться только об одном: запрос Entity SQL.

Конечно, чтобы строго считаться LINQ, вам также потребуется использовать часть language , т.е.

from product in db.Products
     where product.IsActive
     select product.Name;

и т. Д. - но поскольку это все равно сводится к методам расширения (на Queryable / IQueryable<T>), большинство людей считают прямое использование расширения как LINQ - т.е.

var qry = db.Products.Where(x=>x.IsActive).Select(x=>x.Name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...