【发布时间】:2018-04-23 23:03:52
【问题描述】:
我创建了一个 asp.net Web 应用程序,它应该连接到一个 mysql 数据库。
我正在使用带有 ado.net 实体数据模型的实体框架 6。我还遵循了以下教程:https://dev.mysql.com/doc/connectors/en/connector-net-entityframework60.html#connector-net-ef6-config
但是打电话:DbConfiguration.SetConfiguration(new MySqlEFConfiguration());
导致我的应用程序崩溃。它可能与此特定方法无关,因为创建 DBContext 也会使应用程序崩溃。
任何想法是什么导致了这个错误?
- .NET 框架:4.6.1
- MySql.Data.Entity.EF6:6.10.4
Web.config:
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"/>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<connectionStrings><add name="DatabaseEntities" connectionString="metadata=res://*/Database.Model.csdl|res://*/Database.Model.ssdl|res://*/Database.Model.msl;provider=MySql.Data.MySqlClient;provider connection string=""" providerName="System.Data.EntityClient" /></connectionStrings><system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add description=".Net Framework Data Provider for MySQL" invariant="MySql.Data.MySqlClient" name="MySQL Data Provider" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.10.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
完全错误:
类型违反了继承安全规则: 'MySql.Data.Entity.MySqlEFConfiguration'。派生类型必须要么 匹配基本类型的安全可访问性或更少 可访问。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪 有关错误及其起源的更多信息 代码。
异常详细信息:System.TypeLoadException:类型违反了继承安全规则: 'MySql.Data.Entity.MySqlEFConfiguration'。派生类型必须要么 匹配基本类型的安全可访问性或更少 可访问。
【问题讨论】:
-
在 6.10.5 中仍然存在问题。
-
6.10.6 存在问题
标签: c# mysql asp.net-mvc entity-framework