我是 ASP.NET MVC 的新手,我正在用我自己的 MySQL 数据库编写一个 ASP.NET MVC 应用程序。我已经定制了连接到数据库的代码,我认为一切都必须正常工作。当我在 DeelnemerRepository(英文为 UserRepository)中使用我自己的测试数据时,我没有任何问题,但是当我尝试访问数据库时,它会引发 ArgumentException。该异常还给了我以下消息:
无法找到请求的网络框架数据提供者它可能未安装
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 真的很复杂......