C# DataContext db=新DataContext()-作为全局

C# DataContext db=新DataContext()-作为全局,c#,entity-framework,design-patterns,asp.net-mvc-5,C#,Entity Framework,Design Patterns,Asp.net Mvc 5,在我的MVC5应用程序中,EF6开始使用接口和Ninject,但遇到了问题 我调用多个实现来获取数据,在保存数据时,实体断开连接,并且存在多对多和类似的问题 所以我想让我的DataContext db=newdatacontext()全局,所以我只是引用它,而不是在每个类中创建新实例 我在哪里申报,怎么称呼 您只需要存储库模式和工作单元。 有一个关于实现的有用链接 不要那样做 至少因为,由于缓存,您将完成所有数据库的内存存储 DbContext的作用域必须尽可能小。当然不是适用范围 “让连接池完

在我的MVC5应用程序中,EF6开始使用接口和Ninject,但遇到了问题

我调用多个实现来获取数据,在保存数据时,实体断开连接,并且存在多对多和类似的问题

所以我想让我的
DataContext db=newdatacontext()全局,所以我只是引用它,而不是在每个类中创建新实例


我在哪里申报,怎么称呼

您只需要存储库模式和工作单元。 有一个关于实现的有用链接 不要那样做

至少因为,由于缓存,您将完成所有数据库的内存存储

DbContext的作用域必须尽可能小。当然不是适用范围


“让连接池完成他的工作”。

这不是一个好主意。如果您在使用断开连接的实体时遇到问题,则需要在使用它们之前将它们附加到数据上下文中。您的多对多问题不应该受到全局数据上下文的影响。我没有,我现在不知道如何实现它。我想这就是它,但我需要一些时间来消化和测试。将通知effect.EF已经实现了工作单元和存储库模式本身,您应该避免给项目增加不必要的复杂性。也许你可以创建服务/业务类,我有点不知所措。我认为我的项目不够大,我只会让事情变得更复杂。谢谢大家的努力。