我是ASP.NET MVC的新手,我正在使用自己的MySQL数据库编写ASP.NET MVC应用程序。我已经定制了连接到数据库的代码,我认为一切都必须正常工作。当我在DeelnemerRepository(英文版UserRepository)中使用我自己的testdata时,我没有任何问题,但是当我尝试访问数据库时,它会抛出ArgumentException。该例外还给出了以下消息:
无法找到的最请求-NET-框架的数据提供者-IT-可能-不待安装
DeelnemerRepository中调用的方法:
public IQueryable<Deelnemer> FindAll()
{
return deelnemers.OrderBy(d => d.Emailadres);
}
使用NuGet我添加了MySql.Data,MySql.Data.Entities和MySql.Web
web.config文件中的连接字符串:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-ProjectDynamische-20130415102959;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-ProjectDynamische-20130415102959.mdf" providerName="System.Data.SqlClient" />
<add name="kindermishandeling_dbContext" connectionString="server=localhost;Port=3307;User Id=root;password=1234;database=kindermishandeling_db;Persist Security Info=True" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
我也发现在这个课程中这个方法可能有问题,但我不确定:
private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
Database.SetInitializer<UsersContext>(null);
try
{
using (var context = new UsersContext())
{
if (!context.Database.Exists())
{
// Create the SimpleMembership database without Entity Framework migration schema
((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
}
}
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
}
catch (Exception ex)
{
throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);
}
}
}
我不指望问题的解决方案,但我只是想知道我要看哪里,我认为ASP.NET MVC真的很复杂......
答案 0 :(得分:0)
我自己就找到了解决方案。无论如何,感谢所有试图帮助我的人。 我必须将此代码添加到我的web.config文件中:
<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" />
</DbProviderFactories>
</system.data>