[英]Unit Of Work and dependency Injection
我想在我的項目中實現工作單元設計模式,從本文開始 ,dbContext和所有存儲庫都在UnitOfWork類中初始化,並且我發現這里沒有地方可以進行依賴項注入。 有沒有辦法使用懸垂注射或沒有必要,為什么?
您可以根據需要創建DI。
public class UnitOfWork : IDisposable
{
private ISchoolContext _context;
public UnitOfWork(ISchoolContext context)
{
_context = context;
}
}
然后,您也可以在控制器中以相同的方式注入工作單元。
您可以做所有這些事情,現在的問題是,就我個人而言,是否需要花哨的DI,但這取決於您和您的需求。
如果您使用的是DbContext,則這是工作單元的實現:
class UnitOfWork : IDisposable
{
private readonly DbContext _yourDbContext;
public UnitOfWork(DbContext yourDbContext)
{
_yourDbContext = yourDbContext
}
public void Save()
{
_yourDbContext.Save();
}
void Dispose()
{
_yourDbContext = null;
}
}
public interface IUnitOfWork
{
void Save();
}
用途:
IUnitOfWork _uow;
_yourStudentRepository.Add(Student);
_yourAddressRepository.Add(Address);
_uow.Save();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.