我有很多具有此结构的类,您可以看到:
public class OrganizationUserRepository : IOrganizationUserRepository
{
private DataContext _ctx;
public OrganizationUserRepository(DataContext ctx)
{
_ctx = ctx;
}
public bool Add(OrganizationUser entity)
{
try
{
_ctx.OrganizationUsers.Add(entity);
_ctx.SaveChanges();
return true;
}
catch (Exception ex)
{
// TODO log this error
return false;
}
}
public bool Edit(OrganizationUser entity)
{
try
{
OrganizationUser Edited = _ctx.OrganizationUsers.Where(i => i.Id == entity.Id).First();
_ctx.Entry(Edited).CurrentValues.SetValues(entity);
_ctx.SaveChanges();
return true;
}
catch (Exception ex)
{
// TODO log this error
return false;
}
}
public bool Remove(string id)
{
try
{
Int64 Id = Int64.Parse(id);
OrganizationUser obj = _ctx.OrganizationUsers.Where(i => i.Id == Id).First();
_ctx.OrganizationUsers.Remove(obj);
_ctx.SaveChanges();
return true;
}
catch (Exception ex)
{
// TODO log this error
return false;
}
}
}
构造函数中的db上下文是由ninject注入的。你可以看到它只是我的一个类。我在另一个使用单个数据库的服务中有这样的多个类。(WCF服务)。但是我得到这个错误在我的wcf tracelog中:
ExecuteReader requires an open and available Connection. The connection's current state is open.
我首先使用EF代码。
我发现这个Wrap DbContext db = new DbContext() inusing statement.
我想知道我应该使用它,如果是,我怎样才能更改我的类结构以在我的代码中使用?
答案 0 :(得分:-1)
我使用了public Readonly DbContext
。我只是删除了readonly,一切正常。