4

我对 Linq to Entity 感到困惑。是实体框架的新名称还是它们不同?

4

1 回答 1

5

当用于查询实体框架时,LINQ to Entities 实际上只是标准的 LINQ 扩展方法(Where、OrderBy 等)。这不是唯一的选择;EF 也可以在 SQL实体 SQL的自定义方言中进行查询。实际上,LINQ 扩展方法用于生成 Entity SQL,然后将该 Entity SQL 传递给提供者。

这样,实现新的 EF 提供程序的人(因为它是可扩展的)只需要担心一件事来进行查询:实体 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);
于 2008-12-24T22:34:41.333 回答