ADO.NET Entity Framework和Linq to Entities

4
我对Linq to Entities感到困惑。它是Entity Framework的新名称还是两者是不同的东西?
1个回答

5
LINQ to Entities实际上就是标准的LINQ扩展方法(Where、OrderBy等),用于查询Entity Framework。这不是唯一的选择;EF也可以用自定义的SQL方言进行查询- Entity SQL。实际上,LINQ扩展方法用于生成Entity SQL,然后将该Entity SQL传递给提供程序。
这样,实现新的EF提供程序的人(因为它是可扩展的)只需要关心一个查询事项:Entity SQL。
当然,要严格算作LINQ,您还需要使用语言部分,即:
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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接