C# 在一个应用程序中使用EF 6.2与MySQL和SQL Server

C# 在一个应用程序中使用EF 6.2与MySQL和SQL Server,c#,.net,entity-framework,C#,.net,Entity Framework,我开始使用EF6.2(.NET4.8)和传统的MySQL数据库创建一个应用程序。一切都好。还可以使用MySQL使用AspIdentity。一切都好。最近很明显,我需要连接到SQL Server来检索一些额外的数据 我可以发誓我以前做过这件事,没有或只有很少的问题。我目前无法让它工作 我已经研究了覆盖/创建的解决方案 DataContextConfiguration : DbConfiguration 在代码和web.config中 似乎无论我做什么,EF都坚持连接到MySQL,并根据我在尝试的

我开始使用EF6.2(.NET4.8)和传统的MySQL数据库创建一个应用程序。一切都好。还可以使用MySQL使用AspIdentity。一切都好。最近很明显,我需要连接到SQL Server来检索一些额外的数据

我可以发誓我以前做过这件事,没有或只有很少的问题。我目前无法让它工作

我已经研究了覆盖/创建的解决方案

DataContextConfiguration : DbConfiguration
在代码和
web.config

似乎无论我做什么,EF都坚持连接到MySQL,并根据我在尝试的解决方案中所处的位置崩溃和烧坏各种错误

当前错误为:

已设置“MySqlEFConfiguration”的实例,但在与“WmMainContext”上下文相同的程序集中未发现此类型。将DbConfiguration类型与DbContext类型放在同一程序集中,在DbContext类型上使用DbConfigurationTypeAttribute指定DbConfiguration类型,或者在配置文件中设置DbConfiguration类型。有关更多信息,请参阅

是的,我遵循了这个链接,并试图用它来解决我的问题,但没有成功

即使在我的SQL Server上下文中,我也有:

[DbConfigurationType(typeof(MyDbConfiguration))]
public partial class MyContext : DbContext
{
      // etc.
}
我的两个连接字符串都很好

在一个请求中,我可能需要访问两个数据库,这是否可行

有什么提示吗,导游

提前谢谢
T

据我所知,在EF 6.3中,这不是你能做到的。也许你能做到这一点,但并不容易

只要数据库类型相同,就可以连接到多个数据库


您无法连接到一个MySQL数据库和另一个MS-SQL数据库

您正在使用.config文件的
部分吗?如果是,您是否已验证您使用的是正确的提供程序?@TiesonT。是的,是的。在mySQL conn字符串中,我有“mySQL.Data.SqlClient”,在MSSQL conn字符串中,我有“System.Data.SqlClient”,它们也位于entityF web.config文件的providers部分。我通过为每个数据库设置一个项目来实现这一点。在您的例子中,一个用于MySQL,另一个用于MSSQL。然后,您可以为每个项目提供数据访问方法,这些方法将检索数据,并从单独的(业务/服务层)项目中调用这些方法。@jcruz Hi-yup,这就是我尝试做的。一个是MSSQL-DAL项目,一个是MySQL-DAL项目。我仍然有两个数据访问层,一个基本上使用ADO.NET,另一个使用EF。我只从中读取的数据库是ADO.NET数据库。