【发布时间】:2013-12-16 23:38:56
【问题描述】:
在我的解决方案中,我有 2 个使用 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)
{
}
}
}
初始化我的第一个时,一切正常,但是当第二个上下文初始化时(顺序无关紧要)我得到错误:
设置了“EfDbConfiguration”实例,但未在与“B1Entities”上下文相同的程序集中发现此类型。要么将 DbConfiguration 类型放在与 DbContext 类型相同的程序集中,使用 DbContext 类型上的 DbConfigurationTypeAttribute 来指定 DbConfiguration 类型,要么在配置文件中设置 DbConfiguration 类型。请参阅http://go.microsoft.com/fwlink/?LinkId=260883 了解更多信息。*
我还尝试在我的 app.config(启动项目的)中创建实体框架部分,但出现以下错误:
配置系统初始化失败
无法识别的配置节 entityFramework
如何在同一个解决方案中使用 2 个单独的 EF 项目?
【问题讨论】:
标签: c# entity-framework dbcontext entity-framework-6