【发布时间】:2020-11-14 03:35:59
【问题描述】:
我正在使用 Ef core Code First 来生成数据库。但我不确定它为什么要用 *ID1 创建一个新列。
实体
public class Room : BaseEntity
{
public string Name { get; set; }
public string UniqueCode { get; set; }
public int BranchId { get; set; }
public virtual Branch Branch { get; set; }
public CommonStatus Status { get; set; }
}
配置
public class RoomConfiguration : IEntityTypeConfiguration<Room>
{
public void Configure(EntityTypeBuilder<Room> builder)
{
builder.Property(t => t.Name).IsRequired().HasMaxLength(10);
builder.Property(t => t.UniqueCode).IsRequired().HasMaxLength(10);
builder.HasIndex(p => p.Status);
builder.HasOne(s => s.Branch)
.WithMany()
.HasForeignKey(e => e.BranchId)
.OnDelete(DeleteBehavior.Restrict);
}
}
迁移
migrationBuilder.CreateTable(
name: "Room",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Name = table.Column<string>(maxLength: 10, nullable: false),
UniqueCode = table.Column<string>(maxLength: 10, nullable: false),
BranchId = table.Column<int>(nullable: false),
Status = table.Column<int>(nullable: false),
BranchId1 = table.Column<int>(nullable: true)
}
您可以设置迁移脚本实际上具有我从未定义过的 BranchId1。这也发生在某些实体中,但不是全部。我只是想知道为什么会这样谢谢
【问题讨论】:
标签: c# .net asp.net-core-mvc ef-code-first