乾杯!リポジトリで Unit of Work を使用することに疑問があります。特に、Entity Framework の子コンテキストの役割。このテーマについて多くの情報を検索しましたが、さまざまなタイプの使用パターンを見つけただけで、混乱し、主な考えを理解できません。
1.捨てる・貯めるってどこで意識すればいいの?・DbContextのInheritanceクラスで正しくDisposableを実現しているか?その後、Repository と Unit of Work で実現しますか、それとも Uni fo Work で実現しますか?
-作業単位またはリポジトリのどこにメソッドを保存しますか?
私のリポジトリはジェネリックになります私のコードはアーキテクトスタイルやその他の詳細で正しいですか?私の考えが間違っているかどうか教えてください.
interface IRepository : IDisposable
{
void Create();
void Delete();
void Update();
void Get();
T getSomeByExpression()
...Some another costum operations
...should I remember about Save here?
}
class Repository : IRepository
{
SomeContext context = new SomeContext();
...Using using(context = new SomeContext()){} in functions??
...
....Disposing?
}
interface IUnitOfWork : IDisposable
{
...Which methods I should realize?
Commit()
Save()
...Need some another methods like rollback, Attach() Add() or Dispose or something else?
}
class UnitOfWork
{
...Collection of Repository
}
ロジック レベルの作業単位の後に使用しますか? このテーマを理解するのを手伝ってください。
Unit Of Work と Repository パターンを一緒に正しく使用する方法を知りたいです。特に DBContext を含めます。また、Dispose などの操作をどこで使用するかを知りたいです。どの操作が UnitOfWork に一般的にあるべきか、保存など。リポジトリ内のコンテキストをどのように破棄しますか?