2015-12-11 46 views
2

我有一个解决方案,我想用它自己的DBcontext添加另一个项目,使用它自己的表,与解决方案的其余部分位于同一个数据库中(2个DBcontexts不是共享任何表格)。 但运行我得到下面的错误项目时:实体框架 - 在同一个数据库中使用2个DBContext

附加信息:在“配置”类型之前使用 默认DbConfiguration例如由实体框架是 发现。在使用任何实体框架功能之前,必须在应用程序 开始处设置“配置”实例,或者必须在应用程序的配置文件中注册 。

我已经在现有解决方案中构建了一个大型数据库,所以我不想在那里改变任何东西,如果我可以避免的话。我试图在配置中更改ContextKey,并试图为新项目使用另一个数据库模式,但我仍然收到错误消息。

+1

试试这个:https://msdn.microsoft.com/en- us/data/jj680699#Moving –

+1

谢谢,我试着在web.config中设置codeConfigurationType并解决了我的问题:-) – PNR

+0

@SteveGreene,应该发布为答案。 ;) –

回答

1

steve-green问题的第一条评论中提供的链接解决了该问题。

https://msdn.microsoft.com/en-us/data/jj680699#Moving

...使用配置文件来指定DbConfiguration情况下使用。为此,请设置entityFramework部分的codeConfigurationType属性。例如:
<entityFramework codeConfigurationType="MyNamespace.MyDbConfiguration, MyAssembly"> ...Your EF config... </entityFramework>

0

所以首先我们可以得出结论,只有一个Dbconfiguration可以使用。

属性选项"[DbConfigurationType(typeof(myDbCOnfig))]"只有帮助dbContext从另一个程序集中使用DbConfiguration

如果你有自己的DbContext多组件,你可以在你web.config文件中设置"entityFramework codeConfigurationType="[YourDbConfig]""一次,并没有设置DbConfigurationType属性为每一个人dbcontext

相关问题