实体框架:dbContext中的数据已更新,但未在数据库中更新

时间:2018-01-05 05:49:06

标签: entity-framework code-first

error here

proplem是我在dbcontext中向表中插入一行,但该行未插入数据库。 首先,我认为我的代码没有运行,但是当我使用单元测试[见图片]时,测试用例PostCategory_Repository_Create被传递,这意味着插入了数据,并返回Id& #34; 1&#34 ;.然后我再次运行该测试用例,Id变为" 2" (这是因为" Id"字段是标识)。 但数据刚刚在dbcontext上更新,而不是在数据库中......为什么? 拜托,非常感谢。

1 个答案:

答案 0 :(得分:0)

这是UniOfWork类的代码,我使用存储库设计模式:

public class UnitOfWork : IUnitOfWork
{
    private readonly IDbFactory dbFactory;
    private ShopDbContext dbContext;

    public UnitOfWork(IDbFactory dbFactory)
    {
        this.dbFactory = dbFactory;
    }
    public ShopDbContext DbContext
    {
        get { return dbContext ?? (dbContext = dbFactory.Init()); }
    }
    public void Commit()
    {
        DbContext.SaveChanges();
    }
}