【发布时间】:2021-03-26 04:18:41
【问题描述】:
我假设我缺少一些东西,但是当我在项目中生成迁移时,它们一直显示空的 Up 和 Down 方法。即使在一个全新的项目中。这是我的步骤。
启动 Visual Studio 2019。创建一个新的 ASP.NET Web 应用程序(.net 框架)C# 项目 (4.7.2)。选择 MVC 并在身份验证下选择个人用户帐户。点击create创建项目。
接下来我启用迁移。
Enable-Migrations
接下来我添加我的第一个迁移。
Add-Migration First
第一次迁移成功添加了各个用户帐户的所有身份信息。一切都很好。
我更新数据库以应用迁移。一切都还好。
Update-Database
现在,我在 Models 文件夹中添加一个名为 SchoolContext 的新类。
using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
namespace WebApplication6.Models
{
public class SchoolContext : DbContext
{
public DbSet<Student> Students { get; set; }
public SchoolContext() : base("DefaultConnection") { }
}
public class Student
{
[Key]
public int StudentID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
}
}
我现在返回包管理器控制台创建另一个迁移。我尝试创建一个新的迁移。
Add-Migration Second
但这一次,班级是空的。它不会创建我的新表。
namespace WebApplication6.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class Second : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
}
我错过了什么?为什么它不想用我的新表生成迁移?
根据要求,这就是我的 ApplicationDbContext 在 Visual Studio 生成的 IdentityModel.cs 类中的样子。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
【问题讨论】:
-
c-sharpcorner.com/article/…看看这个简单的教程
-
该示例有效,但当身份模型自动生成时,我似乎无法使其工作。
标签: c# .net asp.net-mvc asp.net-mvc-4 ef-code-first