运行Linq命令时出现无法识别的属性'名称'错误 [英] Unrecognized attribute 'name' error when running linq command

查看:0
本文介绍了运行Linq命令时出现无法识别的属性'名称'错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的APS.NET4.5 Web应用程序中使用Entity Framework6。

运行以下命令时:

using (var db = new booksEnteties())
{
    var books = from b in db.books
    select b;
} 

我收到以下错误:

在System.Configuration.dll中出现‘System.Configuration.ConfigurationErrorsException’类型的异常,但未在用户代码中处理

在详细信息中:

无法识别的属性‘name’。

它将我指向web.config行111:

 <remove name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" />

当我删除此行并尝试再次运行时,出现以下错误:

为system创建配置节处理程序时出错。data:列‘InariantName’被约束为唯一。值"MySql.Data.MySqlClient"已存在。

我假设这与web.config中的Entity Framework6配置有关。

推荐答案

正如Tim Tang所说,如果您使用的是Entity Framework6,则需要使用Connector/Net 6.8.x。 您还应该将对MySql.Data.Entity.EF6的引用添加到您的项目中。

然后,对于Web.config文件,如下所示:

 <entityFramework>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" 
                type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient"></remove>
      <add name="MySQL Data Provider" 
           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>

有关更多详细信息,请查看this

这篇关于运行Linq命令时出现无法识别的属性&amp;#39;名称&amp;#39;错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆