【问题标题】:ADO.NET Entity Framework and Linq to EntitiesADO.NET 实体框架和 Linq to Entity
【发布时间】:2008-12-24 22:28:54
【问题描述】:

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

【问题讨论】:

    标签: .net entity-framework linq-to-entities


    【解决方案1】:

    当用于查询实体框架时,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);
    

    【讨论】:

      猜你喜欢
      • 2011-01-15
      • 2013-07-29
      • 2011-04-27
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      相关资源
      最近更新 更多