我正在设置一个包含两个项目的解决方案:1)我的类库和2)我的Web UI。最终该网站将用于显示来自现有mysql数据库的查询结果。当创建控制器(ASP.NET MVC 5与MySql)时,“调用目标引发异常”
我努力在一段时间内创建ado.net实体模型。但我认为我已经在更新视觉工作室的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
嗨@trailmax,我试图创建控制器时得到异常,所以我不能告诉你代码 –