問題タブ [business-layer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - データ アクセス層でデータベースをマッピングするための設計パターン [C#]
私は、データ マッパー パターンを使用するデータ アクセス レイヤーに取り組んでいます。コードの実際の構造は、たとえば次のとおりです。
同じ名前のデータベーステーブルに対応する非常に多くのクラスがあります。
私の質問は次のとおりです。
私のアプローチは正しいですか?すべてのテーブルをマッピングしたら、ドメイン レイヤーで使用します。
Mapper クラスでは、これらのクラスと同じ名前のテーブルでのみ機能するメソッドを使用します。(
Person
クラス -> Persons db テーブル、Order
クラス -> Orders db テーブルなど) しかし、データベースから高度な選択をマップする最良の方法は何ですか。これには、より多くのテーブルへの結合が含まれます。たとえばPerson
、彼のすべてを選択したいのですが、プロパティと使用Orders.
が含まれる Person のドメインモデルを作成する必要がありますか?List<Orders>
PersonMapper
OrderMapper
c# - ビジネス層での C# 固有のプロパティ検証
ビジネス層で FluentValidation と PostSharp を使用しています。私のデータベースにはAdminテーブルがあり、このテーブルのUserName列は一意です。「アスペクト」で一意性を確認したい。私のコードは次のとおりです。
AdminValidator
IsUnique拡張メソッド
FluentValidation の側面
および管理マネージャー
コメント ラインで述べたように、IEnumerable を FluentValidationAspect に渡す必要があります。ただし、動的パラメーターを属性に渡すことはできません。その結果、私はここでブロックされました。一意性を確認する最良の方法は何ですか?
よろしくお願いします。よろしくお願いします...