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 パターンを使用して承認および/またはユーザー タスクに基づいてリポジトリを作成したいと考えています。説明の助けをいただければ幸いです。