Entity Framework Model First を使用してリポジトリと作業単位のパターンを解決しようとしているときに、懸念事項の分離の問題を思いつきました。私のソリューションには、データ、ドメイン、リポジトリ、コンソールの 4 つのプロジェクトがあります。私のデータ層には、EF、edmx ファイルがあります。ドメイン層にはオブジェクトがあり、リポジトリ層にはリポジトリ インターフェイスと UOW クラスがあります。コンソールレイヤーでは、画面に名前を書き込もうとしています。しかし、画面に名前を書き込むには、EF dll をコンソール プロジェクトに追加し、データベース接続文字列を app.config に書き込む必要があります。しかし、これは懸念の分離のために間違っていると思います。コンソール プロジェクトは EF について認識してはならず、Unit of Work(UOW) クラスを使用するために Repo レイヤーとのみ通信する必要があります。
これが私の構造です:
2 つのプロジェクトは EF dll を使用します。
私の単純なコンソールアプリの参照(これは私が望む方法であり、レポレイヤーとドミアンレイヤーのみを使用します)
私のコンソールコードは次のとおりです。
ここで、EF をプロジェクトに追加し、接続文字列をプロジェクトに追加しない限り、コンソール コードは機能しません。私は何を間違っていますか?app.config
いくつかの github プロジェクトを調べたところ、接続文字列が含まれていない単純な解決策が見つかりませんでした。web.config