【发布时间】:2017-03-25 23:21:56
【问题描述】:
我正在设置一个包含两个项目的解决方案:1) 我的类库和 2) 我的 Web UI。最终,该网站将用于显示来自现有 mysql 数据库的查询结果。
一段时间以来,我一直在努力创建 ado.net 实体模型。但我认为在更新 Visual Studio 的 mysql 连接器并按照此处的说明操作后我已经弄清楚了:https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html
现在实体模型已经创建,我正在努力创建一个带有脚手架的简单控制器。我在 web.config 和 app.config 中仔细检查了我的连接字符串和 ef 提供程序。
我已经浏览了这些问题,但没有找到答案:
Exception has been thrown by the target of an invocation- while creating the controller
Application can't scaffold items
我很确定问题出在我的配置方式上。有一段时间我认为 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="server=****;user id=****;password=****;database=mydatabase""
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="server=****;user id=****;password=****;database=mydatabase""
providerName="System.Data.MySqlClient" />
</connectionStrings>
</configuration>
【问题讨论】:
-
显示正在爆炸的控制器?对构造函数感兴趣。我怀疑你在构造函数中有依赖,但是框架不知道如何解决这个依赖
-
嗨@trailmax,我在尝试创建创建控制器时遇到异常,所以我无法向您显示代码
标签: c# mysql asp.net-mvc-5 entity-framework-6