首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在MySql MVC中访问ASP.NET数据库

问尝试在MySql MVC中访问ASP.NET数据库
EN

Stack Overflow用户
提问于 2013-04-18 21:49:10
回答 1查看 1.2K关注 0票数 0

我是ASP.NET MVC的新手,我正在用自己的MySQL数据库编写一个ASP.NET MVC应用程序。我已经定制了连接到数据库的代码,我认为一切都必须正常工作。当我用DeelnemerRepository (英语中的UserRepository)使用我自己的测试数据时,我没有任何问题,但是当我试图访问数据库时,它会抛出一个ArgumentException。异常还会给我以下信息:

DeelnemerRepository中被调用的方法:

代码语言:javascript
复制
public IQueryable<Deelnemer> FindAll()
{
    return deelnemers.OrderBy(d => d.Emailadres);
}

在NuGet中,我添加了MySql.Data、MySql.Data.Entities和MySql.Web

web.config文件中的连接字符串:

代码语言:javascript
复制
<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>

我还发现这个方法在这个类中可能有问题,但我不确定:

代码语言:javascript
复制
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真的很复杂.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-18 23:32:29

我自己找到了解决办法。不管怎样,谢谢所有想帮我的人。我必须将这段代码添加到我的web.config文件中:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16093700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档