上一篇:《DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(2)

这篇文章主要是对 DDD.Sample 框架增加 Transaction 事务操作,以及增加了一些必要项目。

虽然现在的 IUnitOfWork 实现中有 Commit 的实现,但也就是使用的 EF SaveChanges,满足一些简单操作可以,但一些稍微复杂点的实体操作就不行了,并且 Rollback 也没有实现。

现在的 UnitOfWork 实现代码:

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
        
		

网友评论