1

さまざまな顧客向けにさまざまなデータベースを使用するマルチテナンシー アプリケーション用に、MVC4 Web アプリケーションを使用して ASP.NET を設計しています。

私は Entity Framework を使用する予定です。私はそれに慣れていないので、データベースの最初のモデルに従うことを前提として、次の質問があります。

  1. EDMX ファイルを生成する必要がありますか? つまり、EDMX で生成されたエンティティ モデルで十分ですか、それともエンティティ モデルの別のレイヤーを作成してデータベースにマップする必要があるのでしょうか?

  2. エンティティの概念モデルは、アプリケーション アーキテクチャのどこに配置する必要がありますか? すべてのモデル (DB モデル、ビュー モデル) を別のプロジェクトに含めることはできますか?

4

4 に答える 4

1

Entity Framework は、NHibernate や EF と競合して「不信任投票」を獲得した時代から長い道のりを歩んできました。4.x は、多くの選択肢で終了する球技を変更しました。残念ながら、多くの記事が 4.x を参照しているため、MVC 4 を使用している間は、5.0 バージョンを使いこなす可能性が高く、いくつかの例はあまり面白くありません。立ち上がって実行します。

Julie Lerman は、EF、Dbcontex、EF Code First に関する書籍を多数執筆しています。

EDMX ファイルの作成は省略できますが、これには賛否両論があります。あなたが筋金入りのコーダーである場合は、POCO クラスを開発し、これを接続してデータベースと通信することをお勧めします。または、EDMX を使用できます。モデルを最初に使用できるバリエーション、移行などがあります...

Code First is for both flexibility of whether you have an existing database or do not have a database.

個人的には、多くのプロジェクトで "DAL" を ProjectName.Data プロジェクトに置き換えて、リポジトリ パターン (そして最終的には作業単位パターン) を調べてもらいたいと思っています。

ビジネス ロジックやコードをコントローラーに流し込みたくはありません。SRP (単一責任の原則) コントローラーをスリムに保ちます。Nerddinner およびインターネット上の他のいくつかの MVC プロジェクトは、まともな構造を作ろうとしています。MusicStore http://mvcmusicstore.codeplex.com/ と Contoso http://contosontiermvc.codeplex.com/は mvc3 のメイン構造を持っていますが、データをどのように構造化するかについて良い洞察が得られます。

于 2013-05-13T23:42:46.050 に答える
0
  1. 既存のデータベースから Entity Framework を作成しようとすると、データベースから生成できます。(新しいモデルの表面を右クリックしてデータベースから生成すると思います)

  2. はい、別のプロジェクトに常駐できます

于 2013-05-13T19:14:51.033 に答える