Я пытался понять Единицу работы и шаблон хранилища из здесь . у него есть единица рабочего класса, как показано ниже:
public interface IUnitOfWork : IDisposable
{
IRepository<TEntity> GetRepository<TEntity>() where TEntity : class;
int Commit();
}
public interface IUnitOfWork<TContext> : IUnitOfWork where TContext : DbContext
{
TContext Context { get; }
}
и вызов его из службы, например
public class SomeService
{
private readonly IUnitOfWork _uow;
public SomeService(IUnitOrWork unit )
{
_uow = unit;
}
public void SomeMethod(SomeClass entity)
{
_uow.GetRepository<SomeClass>().Add(entity);
_uow.Commit();
}
}
У меня есть запросы из статей, если кто-нибудь может уточнить.
- Что делать, если мне нужно несколько раз звонить в хранилища, так как мне нужен идентификатор из первых хранилищ для использования во вторых хранилищах. Я хочу, чтобы эти два сохранения были либо успешно сохранены, либо откатили оба