【发布时间】:2025-12-15 23:55:01
【问题描述】:
我在 MySQL 中使用 Entity Framework 6 并在 ASP 中使用 model/database-first 技术时遇到问题。 NET C# MVC 3.
目前的情况是我收到了错误:
Keyword not supported.
Parameter name: metadata
元数据在 web.config –file 的连接字符串中指定:
<add name="SiteNameContainer"
connectionString="metadata=res://*/Models. SiteName.csdl|
res://*/Models. SiteName.ssdl|
res://*/Models. SiteName.msl;
provider=MySql.Data.MySqlClient;
provider connection string='server=127.0.0.1;
user id=fire;password=fire_db;
database=fire_dotnet'"
providerName="MySql.Data.MySqlClient" />
我试图删除connectionString中的元数据部分,但是它说不支持关键字“provider”,然后不支持“provider connection string”。
我的 web.config 文件中也有这两个部分:
<entityFramework>
<providers>
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices,
MySql.Data.Entity.EF6, Version=6.8.3.0,
Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<clear />
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySql.Data.MySqlClient"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory,
MySql.Data, Version=6.8.3.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
我引用了 MySQL Net-connector 6.8.3 文件(MySql.Data、MySql.Data.Entity.EF6、MySql.Web)。
我的要求是我必须使用 MySQL 和 Entity Framework 6,并且 .NET 连接器的更改日志显示 6.8.x 增加了对 MySQL 的支持。
我没有想法,希望有人可以帮助我。提前致谢。
【问题讨论】:
-
你看过dev.mysql.com/doc/refman/5.0/en/…了吗?那里的示例 app.config 与您发布的内容有很大不同。全面披露:我从未将 EF 与 MySQL 一起使用。
-
是的,但是我首先使用模型,所以我需要元数据映射
-
出于好奇,你用的是哪个VS?
标签: c# mysql asp.net asp.net-mvc-3 entity-framework