0

3つのプロジェクトで構成されるMVCWebアプリを構築しています。1つはGUI用、もう1つはビジネスロジック用、もう1つはデータアクセス用です。

データアクセス用に、EFによって生成されたファイルがあるため、「Customer」という名前の生成されたクラスがあります。このクラスの検証属性を作成するには、MetaDataTypeを作成する必要があります(これは同じ名前空間で実行する必要があるため、DALレイヤーで実行する必要があります)-これを実行することで、GUIからデータアクセスレイヤーを参照しますこれは、プロジェクトを分割するというアイデア全体を台無しにします。これは、GUIがDALレイヤーとBLレイヤーの両方を参照するようになったためです。とにかく、GUIレイヤーとDALレイヤーを分離したまま、[必須]などの検証属性を使用することはできますか?

前もって感謝します。

4

2 に答える 2

2

それがViewModelsの目的です。しかし、それは、ビューとコントローラーの通信用の新しいDTOのセットがあることを意味します...ビューは実際のドメインモデルについて何も知らないはずなので、これは私見にとって良いことです。

ビューをモデルと通信させるためのすべての明確な方法については、こちらをご覧ください。

于 2010-12-14T19:43:18.250 に答える
2

.NET 4(EF 2)を使用している場合は、プロジェクト間で共有できる別のクラスライブラリにPOCOエンティティを生成できます。DALへの依存関係は必要ありません。私の以前の答えを参照してください:

ASP.Netレイヤードアプリ-レイヤー間でエンティティデータモデルを共有する

特に3.POCOテンプレート(別のプロジェクトに移動する方法を含む):http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-poco-templates-for-the-entity-framework.aspx

于 2010-12-14T19:53:17.287 に答える