我正在尝试将我的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
个类(Entity Framework 6限制)。
如果我设置此配置,则其他上下文会抱怨他们无法看到DbConfiguration
类的程序集。
我如何克服这个限制?
答案 0 :(得分:-1)
前几天我发现自己处于类似情况,不得不依靠web.config来丰富配置
<entityFramework codeConfigurationType="MyNamespace.MyDbConfiguration, MyAssembly">
...Your EF config...
</entityFramework>
修改
第二个选项是将DbConfigurationTypeAttribute放在您的上下文类中
[DbConfigurationType(typeof(MyDbConfiguration))]
public class MyContextContext : DbContext
{
}
有关更多详细信息,请查看这些资源