【发布时间】:2018-12-04 05:20:02
【问题描述】:
我在 EF Core 2.1 中使用新的数据播种方式,我只想为开发环境播种数据。
最初我尝试过这个:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") != EnvironmentName.Development)
{
return;
}
modelBuilder.Entity<Customer>().HasData(new Customer { ... });
}
但是,我注意到生成的迁移总是会将客户插入到数据库中。
有没有办法在每个环境的基础上限制数据种子?
【问题讨论】:
-
这是播种数据还是创建表?
-
@viveknuna 这是播种数据。应为所有环境创建表。只能为开发环境添加种子数据。
-
@ChaoticNadirs 你找到什么好的解决方案了吗?
-
如果您按照this 其他 SO 文章设置 ASPNETCORE_ENVIRONMENT,您的解决方案将有效
标签: c# asp.net-core entity-framework-core