无法使身份转到我的数据库

时间:2016-04-06 10:57:50

标签: asp.net-mvc entity-framework

尝试让Identity在我的项目上运行并使用我的azure数据库,但是当我更改" DefaultConnection"到我在数据库上下文中使用的连接字符串,我收到此错误。

  

实体类型ApplicationUser不是当前上下文模型的一部分。

来源

Source

这是我的数据库上下文

public partial class FitnessEntities : DbContext
{
    public FitnessEntities()
        : base("name=FitnessEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public virtual DbSet<Exercis> Exercises { get; set; }
    public virtual DbSet<MuscleGroup> MuscleGroups { get; set; }
    public virtual DbSet<Muscle> Muscles { get; set; }
}

在这里,我将默认连接更改为我在上下文中的内容

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("FitnessEntities", throwIfV1Schema: false)
    {
    }

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

我不确定要包含哪些代码,如果还有其他需要,请让我加入。

谢谢。

1 个答案:

答案 0 :(得分:1)

您在代码中使用的上下文中缺少DbSet<ApplicationUser>。您的数据库上下文应如下所示

public partial class FitnessEntities : DbContext
{
    public FitnessEntities()
        : base("name=FitnessEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public virtual DbSet<Exercis> Exercises { get; set; }
    public virtual DbSet<MuscleGroup> MuscleGroups { get; set; }
    public virtual DbSet<Muscle> Muscles { get; set; }
    public virtual DbSet<ApplicationUser> ApplicationUsers { get; set; }
}