有什么理由不使用嵌套使用EF实体上下文?

Dea*_*uga 7 .net c# entity-framework

using (var context = new FirstEntities())
{
   using (var context1 = new SecondEntities())
   {
   }
}
Run Code Online (Sandbox Code Playgroud)

这有效但由于某种原因不"感觉正确"...有没有人知道任何有效的理由不使用嵌套的使用语句与实体框架?

编辑:如果存在这种类型的嵌套可能导致异常或数据库错误的情况,而不是从架构的角度来看它是明智的,那么我的问题就更多了......

Guf*_*ffa 11

通过嵌套数据上下文,您将同时使用两个数据库连接.最好从一个上下文中获取所需的数据,关闭它并打开下一个上下文,然后从该上下文中获取所需的数据.

这可能意味着更多的工作,因为您必须更好地规划代码,但这也意味着应用程序可以更好地扩展.

  • @kzen:不,这通常不会导致错误.您当然可以创建一个场景,其中两个实体使用相同的表,对一个实体进行更改会导致另一个实施错误或结果不一致. (2认同)