183

私はしばらくの間プログラミングをしており、以前に LINQ-To-SQL と LINQ-To-Entities を使用したことがあります (ただし、エンティティを使用する場合は、エンティティ/表 1-1 の関係にありました。つまり、L2SQL と大差ありません)。

私は、制御の反転、作業単位、POCO、およびリポジトリ パターンについて多くのことを読んできましたが、この方法論を新しいアプリケーションで使用したいと考えています。

私が苦労しているのは、EF1 の知識を前提としない EF4 の明確で簡潔な初心者向けガイドを見つけることです。

回答が必要な具体的な質問は次のとおりです。

コードファースト/モデルファースト? EF4 に関する長所/短所 (つまり、最初にコードを作成し、後日コードを変更し、DB モデルを再生成する必要がある場合はどうなりますか? データは保持され、変換または削除されますか?)

私がコードファーストであると仮定すると (EF4 がそれを DB スキーマに変換する方法を知りたいのですが)、実際にどのように開始すればよいでしょうか? 「これが私のエンティティ モデルです。これからは…」というエンティティ図の記事をよく目にします。残念ながら、デザイナーでモデルを作成して、コードを生成し、それ以上の自動コード生成を停止しました - または - 彼らは (POCO) をコーディングしましたか? クラスとどういうわけかそれらをデザイナービューにインポートしましたか?

私が本当に必要としているのは、「魔法」がどこから来て、DB から直接 EF モデルを生成するだけではない場合に自分で追加する方法を理解することだと思います。

質問が少し曖昧であることは承知していますが、何がわからないのかわかりません-入力/修正/説明をいただければ幸いです。

言うまでもなく、誰かがここに座って私に EF を教えてくれるとは思っていません。良いチュートリアル/フォーラム/ブログ/その他が欲しいだけです。完全なエンティティ初心者向け

4

12 に答える 12

56

これらの記事は興味深いかもしれません... このシリーズでは、POCO アプローチの長所と短所について詳しく説明しています。

http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx

http://blogs.msdn.com/b/adonet/archive/2009/05/28/poco-in-the-entity-framework-part-2-complex-types-deferred-loading-and-explicit-loading. aspx

http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with-poco.aspx

これらの記事で著者は、Repository パターンと Unit of Work パターンを実装する際のベスト プラクティスを説明する今後の記事について言及していますが、それらを見つけることができません。これらの記事はよく書かれており、この著者の記事をもっと読みたいです。

于 2010-06-10T04:22:13.543 に答える
11

私はこれに出くわしました:http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx

これにより、コードを最初に段階的に説明できます。EF4 用の CTP 3 が必要です (その記事からリンクされているダウンロード)。

これは私が求めていたものにかなり近いものです (ただし、理想的には CTP に依存しないソリューションが望ましいでしょう)。

于 2010-03-23T10:18:26.500 に答える
7

30 分ほどかけて、現在の VS で安定した EF1.0 モデルを生成することをお勧めします。これにより、EF 4.0 の比喩と概念を理解するための長い道のりが得られます。シンプルな Customer、Products、および Orders データベースを作成するだけです。Northwind を使用せずに、独自に作成することをお勧めします。

于 2010-03-23T15:05:22.133 に答える
4

これは素晴らしい質問ですが、Entity Framework が成熟し続けているため、最新の状態を維持するのは困難です。おそらく、今後も最新情報を入手できる最適な場所は、Microsoft の EF ページです。

グーグル中に役立つ他のいくつかのリンク(コードファーストに焦点を当てています):

于 2012-02-01T03:12:57.217 に答える
3

Lerman の本また​​は「Pro linq object-relational mapping」のような単純なものを使用できます。すべての概念は POCO でも同じですが、コード生成を無効にして、edmx csdl でモデルに直接マップする (または独自の POCO ジェネレーターを作成する) 必要がある点が異なります。すべてのマッピングの原則も同じです。とにかく、実行時に POCO オブジェクトから派生したプロキシを使用しているため、傍受のサポート (POCO プロパティの仮想化) について考慮する必要があります。

于 2010-03-23T09:20:01.290 に答える
2

これは、かなり見栄えのするEntityFrameworkのPOCOテンプレートのウォークスルーです。ADO.NETチームのブログもチェックしてください。EFの知識の基礎として最初(EF v1.0)から始めたい場合は、JuliaLermanのProgrammingEntityFrameworkの本が非常に完成していることがわかりました。

于 2010-03-19T16:50:17.303 に答える
2

Dont have the rep to comment on an answer, but here is a follow up to Jinkinz answer:

Using Repository and Unit of Work patterns with Entity Framework 4.0:

http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx

于 2011-04-20T13:41:03.090 に答える
1

Julia Lermanには、それぞれ約10分の素晴らしい一連の紹介ビデオがあります。それらは入門的なものですが、いくつかの潜在的な学習の障害を邪魔しないようにする実用的なヒントがたくさんあります。特に、SQLServerProfilerを使用して実際のSQLが実行されるのを見る彼女のデモンストレーションが気に入りました。

于 2011-03-17T15:00:18.417 に答える
1

切断されたシナリオを使用する場合は、Julie Lerman の本「Programming DbContext」の特別な第 4 章を読むことをお勧めします。

ブログなどで多くの例を見つけましたが、ほとんどすべてが接続されたシナリオに関するものです。

私も始めています。これらの本は私を大いに助けてくれました。ちなみに、私は彼女の本を3冊買いました。

于 2012-06-08T19:35:13.040 に答える
0

私は同じ答えを探していて、 http://www.dotnetcurry.com/ShowArticle.aspx?ID=599に出くわしました

リンクの最後には、EntityFramework4を使用するためのリンクがいくつかあります。

お役に立てれば

于 2011-05-04T03:19:30.680 に答える
0

うわー、たくさんの答え。POCO + インターフェイス + リポジトリをまとめて生成する T4 テンプレートの微調整バージョンを含む例はどうでしょうか?

https://entityinterfacegenerator.codeplex.com

于 2014-05-11T17:16:18.223 に答える