最近我问了一个问题(CRUD operations with connected POCOs instead of disconnected POCOs in EF code first),基于此问题和此评论(CRUD operations with connected POCOs instead of disconnected POCOs in EF code first),现在我想在我的项目中使用已连接的POCOs
,所以我有另一个问题题。
但我认为,如果我使用视图模型,当我使用DbContext
的实例从数据库中获取数据,并将它们映射到视图时,当我想要持久性用户更改时,{{的先前实例1}}(已获取的数据)现在不存在(因为例如当我从我的DAL调用DbContext
GetOrders()
创建然后处置时)因此我应该管理我的DbContext
状态在客户端并将它们复制回新创建的DbContext(在我的DAL的POCOs
中)。
我说错了吗?
答案 0 :(得分:0)
您可以将DbContext变量定义为DAL类上的静态字段以解决此问题。
private static YourAppContainer _dbContainer;
public static YourAppContainer DbContext
{
get
{
try
{
return _dbContainer ?? (_dbContainer = new YourAppContainer());
}
catch (Exception ex)
{
throw new Exception(ex);
}
}
}