4

Linq to Entities について混乱しています。Entity Framework の新しい名前ですか、それとも別のものですか?

4

1 に答える 1

5

エンティティ フレームワークへのクエリに使用される場合、LINQ to Entities は、実際には標準の LINQ 拡張メソッド (Where、OrderBy など) にすぎません。これが唯一の選択肢ではありません。EF は、SQL- Entity SQLのカスタム ダイアレクトでもクエリできます。実際には、LINQ 拡張メソッドを使用して Entity SQL を生成し、その Entity SQL をプロバイダーに渡します。

そうすれば、新しい EF プロバイダーを実装する人は (拡張可能であるため)、クエリに関して 1 つのことだけを気にする必要があります: 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);
于 2008-12-24T22:34:41.333 に答える