2

EFを使用して同じデータベースにアクセスする複数のリポジトリを設計する際のロープを学ぶための助けを実際に探しています。各リポジトリに独自のプライベート DBContext があるサンプル コードを見たことがありますが、この概念に問題があります。このプロジェクトのジェネリック インターフェイスには興味がありません。

継承されたインターフェイスが再利用可能な単一のアプリケーションで、(承認に基づいて) 1 つがIdentityベースになっている複数のインターフェイスと、カテゴリ、アイテムなどの他のジョブ固有のリポジ​​トリが必要です。したがって、複数のDbContextインスタンスが必要です。

SQL ではトランザクションをコミットまたはロールバックできるトランザクションがあるため、EF では複数のリポジトリが同じ (リアルタイム) データにアクセスしますか? おそらく、単一のアプリケーションに多くのジョブ固有のリポジ​​トリを継承させたい場合、DAL をどのように設計すればよいかという質問の方が適切でしょう。

jgauffinは、 「リポジトリが 100% 完全に抽象化されていることを確認してください」とはどういう意味ですか?

これはどういう意味ですか?

これは、私が理解しようとしていることの簡単な例です。この慣行は合理的ですか?

public class OneRepo: IRepository, IDisposable
{

private DbContext context = new DbContext();

// Methods and whatnot... 

}

そして、2番目のリポジトリもOneRepoによる同じdb接続を必要としますが、メモリ内の作業単位が個別にあると思いますか?

public class AnotherRepo: IRepository, IDisposable
{

private DbContext context = new DbContext();

// Methods and whatnot...     
}

私の質問がうまく書かれていない場合は申し訳ありません。私は実際に投稿することに比較的慣れていないため、自分自身を明確にしているかどうかわかりません. 一般的に一般的なリポジトリが好きではなく、Role Interface パターンを使用して承認および/またはユーザー タスクに基づいてリポジトリを作成したいと考えています。説明の助けをいただければ幸いです。

4

1 に答える 1