2012-03-12 10 views
0

私はちょっと混乱しています.EFのすべての進化と私は今どこにいるのか分かりません。EDMXはこれ以上EDMXではありませんか?

* EDMXは過去の選択であり、これ以上使用する必要はありませんか? *もしそうなら、最良の選択は何ですか? * edmxが嫌いです、まずコードにアップグレードできますか?

あなたがしたい場合は、コードファーストの使用を開始することができ、このすべてEFのバージョンは私にあるかのアプリケーションの多くについては

おかげ ジョナサン

答えて

0

明確ではありません。コードファーストがまだサポートしていない大きなものは、ストアドプロシージャへのマッピングです。 (ストアドプロシージャを呼び出すことはできますが、エンティティのCRUD操作はそれらにマップすることはできません)。

EFXを使用してデータベースファーストを実行することは、依然として絶対的にサポートされており、特にEFデザイナー。

EF 4.1以上では、コードファーストとデータベースファーストの両方を完全にサポートしています。

個人的には、私はコード中心の人であり、コード内にすべてのマッピングを保持しているため、ソース管理での管理、分割私にとって、モノリシックXML文書よりもコード成果物を扱うほうがはるかに簡単で素敵です。

0

これはあなたのEntity Frameworkの使用状況を評価する方法である。

1)あなたは既存のデータベースを持っており、自分のデータベーススキーマに基づいてエンティティを生成する場合EDMXは、具体的には、完全に有効なオプションです。これに対する私の好きなメリットの1つは、リスクの低い迅速なデータレイヤ開発です。また、ストアドプロシージャの結果をクラスにマッピングすることは、複雑な既存のストアドプロシージャを使用する場合に便利です。あなたがオブジェクト指向データモデルに基づくあなたのデータベースを作成したい場合は

OR

2)コードファーストは、具体的には、完全に有効なオプションです。最初にコードを書くことで、大規模なリファクタを簡単に作成できるようになり、実装時間まで常に考える必要はありません。ソース管理はコードでより一般的であり、シェルビング/ロールバックは美しい機能です。

TL; DRバージョン: これらはどちらも完全に実行可能なオプションです。時代遅れではありませんし、まもなく彼らはいつでもありません。

0

我々はウォームアップEFコードファーストでパフォーマンスの考慮を持っていました。 EFコードまずエンティティが1000個あるため、開始するのに数分かかる。ので、このボトルネックはEDMXを使用するために私たちを強制し、エンティティモデルが変更後の最初の実行中にコードファーストからEDMXを作成するInteractive Pregeneratedを使用し、他の最初の実行時に著しく低下ウォームアップ時間。

それで終わらない物語。それを実行した後、私たちはEntity Modelに多くの変更があるので、各変更後にEDMXファイルを頻繁に再作成(更新)する必要があります。そこでEDMXをプログラムで作成し、エンティティモデルの作成を最適化することにしました。