だから、私はこれを持っています:
- Webアプリ
- ビジネスの論理
- データアクセスロジック
データアクセスロジック、エンティティ、コンテキスト、初期化子で作成しました。
つまり、通常は上位層、下位層機能と呼ばれますよね?
顧客を保存したい場合は、Webアプリから顧客エンティティを作成します。私が嫌いなのは、Webアプリレイヤーからデータアクセスロジックレイヤー(クラスライブラリ)への直接参照があることです。
何か案が?
だから、私はこれを持っています:
データアクセスロジック、エンティティ、コンテキスト、初期化子で作成しました。
つまり、通常は上位層、下位層機能と呼ばれますよね?
顧客を保存したい場合は、Webアプリから顧客エンティティを作成します。私が嫌いなのは、Webアプリレイヤーからデータアクセスロジックレイヤー(クラスライブラリ)への直接参照があることです。
何か案が?
これはおそらくあまり建設的ではないことは知っていますが、私があなたなら、参照を追加するだけです。簡単なはずの何かをするためのより複雑な方法を見つけることを自分自身で難しくする意味はありません。さらに、今それをスキップして、後でより良い解決策に出くわした場合は、コードを変更するだけです。
これは私が前のプロジェクトでそれをした方法です
私のソリューションの下にある4つのプロジェクト
1) UI(私のASP.NET MVCアプリケーション)
2)ビジネスエンティティ(顧客、注文などのエンティティ用の私のPOCOS)
3)ビジネスロジック(UIとDataAccessレイヤーの間にある私の中間サービスレイヤー。ここでビジネス固有の検証を行います。
4)データアクセス層。私のデータベースと話します。EF/純粋なADO.NETストアドプロシージャなどにすることができます。
UIから、中間層(ビジネスロジック)のメソッドを呼び出し、そこからカスタム検証/ビジネスルールを実行した後、データアクセス層メソッドを呼び出します。