2011-12-22 8 views
4

linqとSQLの間の高度な違いは分かっていますが、既に自分でスイッチを作成している人からのアドバイスが必要です。両方の経験。エンティティフレームワークを使用して新しいデータアクセスレイヤープロジェクトをコーディングし始めたら、私は知っておく必要がある重要なことは、インプリメンテーションと低レベルの詳細までは、強力なlinqからSQLのバックグラウンドまでです。アドバイスが必要な場合:LinqからSQLへのEntity Frameworkへの切り替え

私はedmxファイルを作成しました(私はデータベースの最初のアプローチを選択しました)、これまでのところlinqとSQLは全く同じであると思われます。 linq to sqlのように、[この方法で] [この方法]のような項目の短いリストは助けになりますが、エンティティのフレームワークでは、このようにしたいと思うでしょう。

申し訳ありませんが、これは奇妙な質問ですが、回答のすべての試みが大歓迎です。ありがとう!

+0

として成長しますOP。 –

+2

これは重複している可能性があります:http://stackoverflow.com/questions/8676/entity-framework-vs-linq-to-sql – Strillo

+0

EF4では根本的に異なるものはないと思います。あなたがLinq-to-SQLでしたように。 EF4は、(テーブル継承シナリオのように、1つのオブジェクトを複数のテーブルにマッピングしたり、1つのテーブルを複数のオブジェクトタイプにマッピングするなどの)追加機能*を提供しますが、実際にあなたのやり方では得られない「アドオン」です。 –

答えて

1

L2SとEFの間の新しいプロジェクトでは、EFをお勧めします(Entity Frameworkバージョン4.0以上を検討してください)。初期のEFリリースは使用しないでください。

Linq to SQLはクラスとテーブルのマッピングですが、EF 4はさまざまなマッピングシナリオを持つ完全なORM(オブジェクトリレーショナルマッピング)ツールです。

  • データベースの最初のアプローチ
  • モデルの最初のアプローチ
  • コードファーストアプローチ

とLINQプロバイダとの強力な統合:

はEFを使用すると、多くの柔軟性を持っています。

Linq2SQLによるユニットテストは悪夢です。 EFを使用すると、POCO(Plain Old CLR Object)クラスがそのまま使用できます。 L2Sでは、エンティティクラスはL2S名前空間に密接に結合されています。

EFは、ドメインドリブンデザインのシナリオでも役立ちます。

マイクロソフトでは、最初のデータベースアクセス方法をEFとみなし、RIAサービスやMVCデータベースの足場などの他のサービスの基盤と考えています。

LinqToSqlは、Windows Phoneシナリオで初めてのデータベースアクセス方法です。

+0

「最初のデータベースアクセス方法」とはどういう意味ですか?明らかにこれらの技術のどちらも最初にはなかった。 –

+0

私の貧しい人々のために申し訳ありません...私は、データベースアクセス技術(ADO.NET、LinqToSql、EF)を設定すると、EFがMicrosoftにとって好ましいものであり、彼の努力がそれに集中していることを意味します。 –

0

NHは...はるかに良いですが、再びEFは、Microsoftの赤ちゃんであるとしてNHがより成熟しており、豊富な機能だけで役に立たない「NHを使用する」と言ったが、それは時間のGOE

関連する問題