【问题标题】:change DefaultConnection in MVC Accounts Database更改 MVC 帐户数据库中的 DefaultConnection
【发布时间】:2014-04-03 01:58:41
【问题描述】:

我是 Asp.Net MVC 的新手。我的问题是如何更改 web.config 文件中的 DefaultConnection 以使用我的实体框架连接字符串。我的目标是整个应用程序中的一个数据库。

我首先使用的是 Asp.Net MVC 5,以及实体框架数据库。我在这里找到的其他帖子没有正确说明我的问题。

请告诉我是否需要提供更多信息。谢谢。

【问题讨论】:

  • ?不太确定您在这里问什么,您是否尝试在实体框架之外创建其他访问数据库的方法,但使用实体框架连接字符串,如果是这样,只需指定该连接字符串?
  • 不,因为我首先有实体框架数据库,在我的 web.config 文件中,它构建了另一个名为“TestEntities”的连接字符串,我想在我自己的数据库中有帐户表,而不是那个这是默认设置...想了解更多信息吗?
  • 所以你有两个数据库???
  • 第一次创建新用户时会发生什么?它在后面构建数据库和表格,对吗?我想在我现有的数据库中使用这些表。就是这样。
  • 在连接字符串中将 databasename 的值更改为您现有数据库的名称

标签: asp.net asp.net-mvc entity-framework asp.net-mvc-5


【解决方案1】:

在您的 IdentityModels 中,您应该更改 connectionString 名称:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }
}

将 DefaultConnection 更改为您的 testEntities。

【讨论】:

    【解决方案2】:

    找到您的 AccountModels.cs/vb 文件并进行更改

    public class UsersContext : DbContext
    {
        public UsersContext()
            : base("TestEntities")
        {
        }
    ...
    }
    

    我不确定 MVC 5 的初始文件结构是否与 MVC3 相同——如果是,请在 Filters 文件夹 InitializeSimpleMembershipAttribute.cs/vb 文件中找到

    private class SimpleMembershipInitializer
        {
            public SimpleMembershipInitializer()
            {
                Database.SetInitializer<UsersContext>(null);
    
                try
                {
                    ...
    //change this
                    WebSecurity.InitializeDatabaseConnection("TestEntities", "UserProfile", "UserId", "UserName", autoCreateTables: true);
                }...
            }
    

    如果这些文件不存在。执行 Ctrl+F 并在 ~Entire Project 中搜索 DefaultConnection 并将其替换为 Webconfig 中所需的连接字符串

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多