我正在尝试将我的MVC 5应用程序移植到MVC 6.我正在使用Devart dotConnect for MySql和Oracle。我在配置应用程序时遇到问题。
现在我有以下条目:
<entityFramework>
<providers>
<provider invariantName="Devart.Data.MySql" type="Devart.Data.MySql.Entity.MySqlEntityProviderServices, Devart.Data.MySql.Entity" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="Devart.Data.MySql" />
<add name="dotConnect for MySQL" invariant="Devart.Data.MySql" description="Devart dotConnect for MySQL" type="Devart.Data.MySql.MySqlProviderFactory, Devart.Data.MySql" />
</DbProviderFactories>
</system.data>
我的应用程序在单独的程序集中有3个DbContext
类(2x MySql,1x Oracle),我只能有1个DbConfiguration
类(实体框架6限制)。
如果我设置此配置,则其他上下文会抱怨他们无法使用DbConfiguration
类看到程序集。
我该如何克服这个限制?
前几天我发现自己处于类似情况,不得不依靠web.config来丰富配置
<entityFramework codeConfigurationType="MyNamespace.MyDbConfiguration, MyAssembly">
...Your EF config...
</entityFramework>
编辑
第二个选项是将DbConfigurationTypeAttribute放在上下文类中
[DbConfigurationType(typeof(MyDbConfiguration))]
public class MyContextContext : DbContext
{
}
有关详细信息,请查看这些资源