次のように構成されたアプリケーションの作業を開始しました。
UI - ASP.Net MVC Web アプリケーション サービス層 - WCF エンティティ - 単純なクラス ライブラリ (WCF 層によって公開) データ層 - データベースとの対話用。
これまでは、Web アプリケーションの Models フォルダーでモデルを定義していましたが、WCF サービスでモデルを公開することにしたため (このアプリケーションは他のアプリケーションでも使用されるため)、ここで助けが必要です。
すべてのモデル定義を、データ注釈と DataContract 属性で装飾する WCF サービスによって公開されるエンティティ レイヤーに配置しようとしました。これで、これらのエンティティを参照してビューにバインドできるようになりました。しかし、データ注釈の検証がうまくいきません。
誰かがこれを回避するために私を助けてくれますか? 私は解決策をWebで検索してきましたが、ほとんどの場合、エンティティレイヤーの参照をWebアプリケーションに配置するように言われています。これは、望ましくない密結合になります。もう1つのオプションは、Webアプリケーションのモデルフォルダーにあるデータ注釈を使用してすべてのエンティティを再定義することです。これは、重複した種類のコーディングになります。
これに対するより良いアプローチはありますか?どんな助けでも感謝します。
アップデート:
WCF エンティティを使用するために、Web アプリケーションにサービス参照を配置しました。ここで、データ メンバーを明示的に [Required] 属性で装飾して Reference.cs ファイルを変更し、正常に動作していることを確認します。ただし、これらの変更はサービス コードが生成されるたびになくなることを理解しています。
そのデータ注釈属性をここに持ち込む方法はありますか? 親切に助けてください。