我正在使用数据实体 Web 应用程序构建 MVC 4。该应用程序需要连接位于同一数据库服务器中的两个数据库。我需要使用数据库 1 中的数据来搜索数据库 2 上的数据。为了获得良好的实践和性能,我应该有两个 DbContext 还是一个?
谢谢你的帮助!
我正在使用数据实体 Web 应用程序构建 MVC 4。该应用程序需要连接位于同一数据库服务器中的两个数据库。我需要使用数据库 1 中的数据来搜索数据库 2 上的数据。为了获得良好的实践和性能,我应该有两个 DbContext 还是一个?
谢谢你的帮助!
您将需要两个单独的连接字符串和连接,因此使用两个不同的上下文并根据另一个的结果查询一个。
是的,除非数据库模式结构相同。尝试使用相同的上下文访问 2 个不同的数据库会导致您遇到的问题多于解决的问题。正如 Konstantin 指出的那样,需要 2 个连接字符串。
使用从 DB 过程中创建模型/上下文的正常两次。
对于这种情况,我更喜欢这种方式:
您从需要写入的数据库中创建上下文(比如说 DB1)。然后我创建视图(在 DB1 中)引用另一个 DB(DB2)中的表。这增加了一个安全级别:我永远不会在 DB2 中插入任何东西(因为视图在实体框架中是只读的)。