【问题标题】:Keyword not supported: 'metadata' + MySQL不支持关键字:“元数据”+ MySQL
【发布时间】:2014-01-14 16:29:09
【问题描述】:

错误

什么时候发生

我正在尝试使用 ViewModel 作为模型创建一个简单的控制器。

连接字符串

<connectionStrings>
   <add name="BoaPropostaEntities"
        connectionString="metadata=res://*/Models.MyApp.csdl|res://*/Models.MyApp.ssdl|res://*/Models.MyApp.msl;provider=MySql.Data.MySqlClient;provider connection string='server=localhost;user id=root;password=root;persistsecurityinfo=True;database=mydatabase'"
        providerName="MySql.Data.MySqlClient"/>

Web.Config 聚焦

我还在 Web.Config 中添加了一些设置:

<system.data>
  <DbProviderFactories>
  <clear />
  <add name="MySQL Data Provider" 
       invariant="MySql.Data.MySqlClient" 
       description=".Net Framework Data Provider for MySQL"
       type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>

还有:

<entityFramework>
  <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
  <contexts>
    <context type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity"/>
  </contexts>
</entityFramework>

所有引用似乎都还可以。

问题

解决我的问题的想法?

环境

Windows 8.1 + Visual Studio 2013 + MVC 4 + MySQL 5.6 + Connector/Net 6.8.3 + MySQL for Visual Studio Plug-In 1.1.0 + Entity Framework 5

我已经尝试过的

  • 我已经尝试过使用 EF 6 — 没有脚手架支持然后我放弃了;
  • 我已经尝试过使用较低版本的Connector/Net(例如6.6.x ~ 6.7.x),但我遇到了另一个问题;

重复?

我已经搜索了很多关于这个主题的主题。不幸的是,直到现在,都没有成功。我认为我的问题与我的 connectionString 密切相关。

如果您愿意,请发布相关主题 - 我可以确认这不是我的解决方案。无论如何,抱歉关于这个的另一个话题,但没有其他任何帮助我。

【问题讨论】:

    标签: c# mysql web-config entity-framework-5 connection-string


    【解决方案1】:

    这是一个 EF 连接字符串,而不是 MySQL 连接字符串。

    你需要providerName="System.Data.EntityClient"

    【讨论】:

    • 什么是 InnerException?
    • 我的 ViewModel 是问题所在,我不知道为什么。我只是改变了模型,一切都很好。顺便说一句,谢谢你的帮助,SLaks。新年快乐,祝你一切顺利!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多