4

私はLINQの利点を知っており、.Netアプリケーションでの使用を知っています。EntityFrameworkとして提供されているものと同じものを入力します。

では、LINQとEntity Frameworkの主な違いは何ですか?

4

4 に答える 4

11

LINQは、メモリ内オブジェクト、XML、SQL、...などの任意のデータソースに適用できます。

Entity Frameworkは、LINQを使用してリレーショナルデータベースに対してクエリを実行できます。

LINQ to SQLは、Entity Frameworkの前身であり、現在は廃止されています。

于 2013-01-24T07:35:04.167 に答える
7

EFとLINQの比較は正しくありません。どちらも異なるものであり、多くの場合、連携して開発者のエクスペリエンス(および生産性の向上)を向上させます。

LINQは、任意のデータソースに適用できる構文/モデルをクエリしています。EFはそのようなデータソースの1つを提供します。

于 2013-01-24T07:35:56.030 に答える
2

これらは多少似ており、コード的にも非常によく似た方法で使用できますが、いくつかの重要な違いがあります。「LINQ」は「LINQtoSQL」と同じではないことに注意してください。EFもLINQを使用します。いくつかの注目すべき違いは次のとおりです。

  • LINQ toSQLは主にSQLServerのみであり、実装によるものほど設計によるものではありません。EFは、互換性のあるADO.NETプロバイダーがある場合、複数のDBをサポートするように設計されており、サポートします。
  • 箱から出して、LINQ to SQLは、DBメタデータの変更について非常に貧弱な話をしています。モデルの一部を最初から再生成する必要があり、カスタマイズが失われます。
  • EFは、多対多の関係や継承などのモデル機能をサポートします。LINQ to SQLは、これらを直接サポートしていません。
  • .NET 3.5では、LINQ to SQLは、EFよりもSQL-Server固有の機能をはるかによくサポートしていました。これは、.NET4ではほとんど当てはまりません。それらはその点でかなり似ています。
  • EFでは、モデルファースト、DBファースト、またはコードファーストのモデリングを選択できます。LINQ to SQLは、箱から出してすぐに、実際にはDBFirstのみをサポートします。

出典:こちら

于 2013-01-24T07:35:44.263 に答える
1

私はVinayCに完全に同意します。あなたは本当に比較することはできません。

Entity Frameworkを使用すると、プログラム内でデータベース全体を表現できるようになります。データベース内のように相互に接続された、データベース要素に対応するクラスを作成するのに役立ちます。これらのクラスの要素を直接操作した後、このようにデータベースに影響を与えることができます。VisualStudioでこれらのクラス図を表現できます。設定に多少の労力が必要な場合でも、データベース要素を直接操作するよりも基本的に簡単なことがよくあります。

Linqの使用は、データソースに対してクエリを実行することです。

于 2013-01-24T10:01:47.973 に答える