Sql server ASP.NETMVC从多个数据库读取

Sql server ASP.NETMVC从多个数据库读取,sql-server,asp.net-mvc,entity-framework,api,quartz.net,Sql Server,Asp.net Mvc,Entity Framework,Api,Quartz.net,对于这个即将到来的我需要解决的问题,我将非常感谢您的建议 我有两个独立的业务系统(我们称它们为SystemA和SystemB),都是在Asp.NETMVC5和EntityFramework5中开发的。两个系统都使用单独的MS SQL Server数据库。两个系统都托管在同一个web服务器上 在过去,系统之间从来没有任何链接,但是,我现在需要使存储在系统A中的一些数据在系统B中可用 例如,系统A有如下数据库表: tblCourse-->Id、courseName、courseDate 我现在需要让

对于这个即将到来的我需要解决的问题,我将非常感谢您的建议

我有两个独立的业务系统(我们称它们为SystemA和SystemB),都是在Asp.NETMVC5和EntityFramework5中开发的。两个系统都使用单独的MS SQL Server数据库。两个系统都托管在同一个web服务器上

在过去,系统之间从来没有任何链接,但是,我现在需要使存储在系统A中的一些数据在系统B中可用

例如,系统A有如下数据库表:

tblCourse-->Id、courseName、courseDate

我现在需要让SystemB用户可以使用这个表中的数据。当我说对SystemB用户可用时,我的意思是这些信息也需要存储在SystemB数据库的一个表中

目前我还不确定如何做到这一点,因为我从未为一个web应用程序从多个数据库中提取数据

我需要进一步研究这一点,但目前我认为这些可能是可以使用的选项:

  • 在我的web.config中为系统B创建第二个数据库连接字符串,该字符串将指向系统a的数据库。然后使用该连接将数据从系统a中的所需表拉入系统B。我不确定这是否可行,或者这将如何与我的实体框架模型集成,该模型已基于我的数据库为系统B

  • 使用Quartz.Net创建一个计划任务(存储过程),以便每晚运行,从系统a中所需的表中读取数据并插入到系统B中

  • 在系统A的解决方案中创建一个API,该API将提供系统B所需的信息,读取该API并将数据插入系统B的数据库。我以前从未创建过API,不确定这是否适用于此问题


  • 非常感谢您的建议。

    您确定还需要System B数据库中的数据吗?哪个系统负责添加/更新数据?如果将数据保存在一个系统(例如系统A)中,并公开一个API供其他需要该数据的系统使用,可能会更好。尽管在某些情况下,出于性能原因,复制数据可能是值得的,但如果您不进行关系(只是获取数据),那么只需在该数据库中设置另一个上下文,保持数据同步会使情况变得更加复杂。如果需要关系,可以在B中创建一个从a中提取的SQL视图。