gpt4 book ai didi

c# - 创建 Controller 时为"Exception has been thrown by target of invocation"(带有MySql的ASP.NET MVC 5)

转载 作者:行者123 更新时间:2023-11-29 20:00:36 28 4
gpt4 key购买 nike

我正在设置一个包含两个项目的解决方案:1) 我的类库和 2) 我的 Web UI。最终该网站将用于显示现有 mysql 数据库的查询结果。

我花了一段时间努力创建 ado.net 实体模型。但我认为在更新 Visual Studio 的 mysql 连接器并按照此处的说明进行操作后我已经弄清楚了:https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html

既然实体模型已经创建,我正在努力创建一个带有脚手架的简单 Controller 。我已经仔细检查了 web.config 和 app.config 中的连接字符串和 ef 提供程序。

我浏览了这些问题,但没有找到答案:

Exception has been thrown by the target of an invocation- while creating the controller

Application can't scaffold items

Enity Framework With MySQL

我很确定问题出在我的配置方式上。有一段时间我认为 app.config 中的内容并不重要,因为 UI 项目(包含 web.config)被设置为启动项目。现在我只是很困惑。这就是为什么我将两者都包含在下面的原因。非常感谢任何见解。

来自 web.config:

  <connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-MySolution.UI-20161111094519.mdf;Initial Catalog=aspnet-MySolution.UI-20161111094519;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="MySolutionEntities" connectionString="metadata=res://*/Entities.DevData.csdl|res://*/Entities.DevData.ssdl|res://*/Entities.DevData.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=****;user id=****;password=****;database=mydatabase&quot;"
providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
<provider invariantName="System.Data.MySqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFrameworkSqlServer" />
</providers>
</entityFramework>

来自app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<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="System.Data.SqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
<provider invariantName="MySql.Data.SqlClient"
type="MySql.Data.Entity.SqlServer.ProviderServices, EntityFramework.SqlServer"/></providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<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.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="MySolutionEntities" connectionString="metadata=res://*/Entities.DevData.csdl|res://*/Entities.DevData.ssdl|res://*/Entities.DevData.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=****;user id=****;password=****;database=mydatabase&quot;"
providerName="System.Data.MySqlClient" />
</connectionStrings>
</configuration>

最佳答案

迟到的答案,但我希望它对某人有帮助我遇到了同样的问题,我只是通过 nuget 包管理器控制台卸载并重新安装 Entity Framework 来解决它。o 运行包管理器控制台:

工具 -> NuGet 包管理器 -> 包管理器控制台

删除:

UnInstall-Package EntityFramework

重新安装:

Install-Package EntityFramework

我希望这也适合你

关于c# - 创建 Controller 时为"Exception has been thrown by target of invocation"(带有MySql的ASP.NET MVC 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40552884/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com