【发布时间】:2008-12-24 22:28:54
【问题描述】:
我对 Linq to Entity 感到困惑。是实体框架的新名称还是它们不同的东西?
【问题讨论】:
标签: .net entity-framework linq-to-entities
我对 Linq to Entity 感到困惑。是实体框架的新名称还是它们不同的东西?
【问题讨论】:
标签: .net entity-framework linq-to-entities
当用于查询实体框架时,LINQ to Entities 实际上只是标准的 LINQ 扩展方法(Where、OrderBy 等)。这不是唯一的选择;也可以在 SQL 的自定义方言中查询 EF - Entity SQL。实际上,LINQ 扩展方法用于生成 Entity SQL,然后将该 Entity SQL 传递给提供者。
这样,实现新的 EF 提供程序的人(因为它是可扩展的)只需要担心一件事进行查询:实体 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);
【讨论】: