对不起,如果前面回答了这个问题,我想知道在MVC 6中使用EFCore2.0处理连接的最佳方法是什么。我是否应该使用DBContext的单例实例(DBContext)或任何更好的方法来处理它。如果有多个DBContext实例,我将让我的实体进入断开连接的状态。那么,如何处理这种情况呢?
发布于 2018-01-17 02:36:06
首先,这有点令人恼火,但没有MVC 6这样的东西,有ASP.NET MVC和ASP.NET Core,其中MVC是运行在完整.NET上的旧框架,而.NET是运行在.NET核心上的新框架。
正如@DavidG所指出的,在单例范围中永远不应该有上下文。您的上下文应该总是在请求范围内,或者ASP.NET核心的DI容器简单地称之为“作用域”。这将确保每个请求只有一个上下文实例,这正是您想要的。其他请求将有自己的实例这一事实不应该成为一个问题,除非您正在执行跨请求边界(您不应该这样做)的讨厌的、非线程安全的事情。
最后,拥有独立的实体本身并不是问题。当您需要对它们执行原子操作时,只需将它们附加在一起。
https://stackoverflow.com/questions/48291479
复制相似问题