簡體   English   中英

工作單元和依賴注入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM