【发布时间】:2019-07-18 12:46:18
【问题描述】:
尝试在 MSSQL 服务器中播种数据库。 'Id' 列设置为标识。我不明白为什么 EF 需要 'Id: 的数据:
public class Location
{
public int? Id { get; set; }
public string Name { get; set; }
public IList<Office> Offices { get; set; }
}
...流畅的API:
modelBuilder.Entity<Location>()
.HasKey(k => k.Id);
modelBuilder.Entity<Location>()
.Property(p => p.Id)
.UseSqlServerIdentityColumn()
.ValueGeneratedOnAdd();
modelBuilder.Entity<Location>()
.HasData(
new Location() { Name = "Sydney" },
new Location() { Name = "Melbourne" },
new Location() { Name = "Brisbane" }
);
...据我了解,如果“Id”是由服务器在插入时生成的,则不需要提供。为什么我会收到关于不提供 ID 的消息...
【问题讨论】:
标签: entity-framework-core ef-fluent-api seeding identity-column