上一篇:《DDD 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)-談?wù)?Repository、IUnitOfWork 和 IDbContext 的實(shí)踐(2)

這篇文章主要是對(duì) DDD.Sample 框架增加 Transaction 事務(wù)操作,以及增加了一些必要項(xiàng)目。

雖然現(xiàn)在的 IUnitOfWork 實(shí)現(xiàn)中有 Commit 的實(shí)現(xiàn),但也就是使用的 EF SaveChanges,滿足一些簡(jiǎn)單操作可以,但一些稍微復(fù)雜點(diǎn)的實(shí)體操作就不行了,并且 Rollback 也沒有實(shí)現(xiàn)。

現(xiàn)在的 UnitOfWork 實(shí)現(xiàn)代碼:

public class UnitOfWork : IUnitOfWork{    private IDbContext _dbContext;    public UnitOfWork(IDbContext dbContext)    {
        _dbContext = dbContext;
    }    public void RegisterNew<TEntity>(TEntity entity)        where TEntity : class
    {
        _dbContext.Set<TEntity>().Add(entity);
    }    public void RegisterDirty<TEntity>(TEntity entity)        where TEntity : class
    {
        _dbContext.Entry<TEntity>(entity).State = EntityState.Modified;
    }    public void RegisterClean<TEntity>(TEntity entity)        where TEntity : class
&nbs
        
		

網(wǎng)友評(píng)論