在我的解决方案中,我有两个使用Entity Framework 6的项目.每个项目指向不同的数据库,两者都使用相同的数据提供 - SQL Server.我的解决方案中的第三个项目需要使用这两个数据库.我的问题是如何配置这些上下文.我尝试在单独的程序集中创建配置类:
namespace OSAD_Base
{
class EfDbConfiguration : DbConfiguration
{
public EfDbConfiguration()
{
SetProviderServices(SqlProviderServices.ProviderInvariantName, SqlProviderServices.Instance);
}
}
}
Run Code Online (Sandbox Code Playgroud)
并在每个上下文类中引用此配置:
namespace IntegrationDb
{
[DbConfigurationType("OSAD_Base.EfDbConfiguration, OSAD_Base")]
public partial class IntegrationEntities : DbContext
{
public IntegrationEntities(string connectionString)
: base(connectionString)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
初始化我的第一个时,所有工作都正确,但是当第二个上下文初始化时(顺序无关紧要)我得到并且错误:
设置了'EfDbConfiguration'的实例,但是在与'B1Entities'上下文相同的程序集中未发现此类型.将DbConfiguration类型放在与DbContext类型相同的程序集中,在DbContext类型上使用DbConfigurationTypeAttribute指定DbConfiguration类型,或在配置文件中设置DbConfiguration类型.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260883.*
我还试图在我的app.config(启动项目)中创建一个entityframework部分,但是出现了以下错误:
配置系统无法初始化
无法识别的配置部分entityFramework
如何在同一解决方案中使用2个单独的EF项目?