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