实体框架在SaveChanges之后关闭连接?

时间:2015-02-25 12:44:15

标签: c# entity-framework ef-code-first

我在我的应用中使用了存储库和工作单元模式。我有一个我正在保存的实体:

public void Add(CustomerType entity)
{
   DbEntityEntry dbEntityEntry = dataContext.GetEntry(entity);

   if(dbEntityEntry.State != EntityState.Detached)
      dbEntityEntry.State = EntityState.Added;
   else
      dbSet.Add(entity);

}

然后调用datacontext SaveChangesAsync()来提交更改。实体插入数据库中。实体id是一个标识列(生成数据库),它也设置正确。

之后,我尝试再次加载实体。存储库Get(int id)方法不使用dbSet.Find,而是向db发送新的SQL语句:

public virtual CustomerType Get(Expression<Func<CustomerType , bool>> filter)
{
    return dbSet.Where(filter).FirstOrDefault<CustomerType >();
}

但是,我收到以下异常:The underlying provider failed on Open

正常致电Get()SaveChanges()之后没有正常工作。

我错过了什么?

0 个答案:

没有答案