为什么我的数据库中没有创建我的asp身份存储过程?

时间:2017-11-02 08:32:38

标签: c# asp.net sql-server stored-procedures entity-framework-6

当我使用ASP.NET Identity时,我通常会将应用程序的数据模型构建到现有的ApplicationDbContext中。这通常构建具有所有表和存储过程以及ASP.NET Identity 2需求的数据库(例如 aspnet_CheckSchemaVersion

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    // DbSet items go here to define the application's data model.

    public ApplicationDbContext()
        : base("OrtundConnection", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

问题是我在执行后面遇到错误,表示aspnet_CheckSchemaVersion存储过程不存在,果然,检查数据库,它不存在。

我正在使用迁移以正常方式构建数据库:

  1. 启用迁移
  2. 添加迁移
  3. 更新数据库
  4. 为什么我的存储过程没有被创建?我错过了什么吗?我可以在创建数据库后手动创建它们吗?

1 个答案:

答案 0 :(得分:0)

我不认为ASP Identity 2使用存储过程。该存储过程曾经使用aspnet_regsql.exe工具生成,但我相信现在这是多余的。听起来好像您可能与您尝试使用的版本有不匹配的架构。 ASP.NET Identity 2仅使用表。

https://forums.asp.net/t/2048614.aspx?Could+not+find+stored+procedure+dbo+aspnet_CheckSchemaVersion+