我正在为面试做一个 ASP.NET Core MVC 演示项目。我正在使用的书向我展示了如何从空项目模板连接 MVC 项目。我在数据库上下文类的构造函数中调用 Database.EnsureCreated() 以在应用程序运行时创建 MS SQL Server Express 数据库。这对于演示项目来说已经足够了,因为它只需要在本地运行。但是,在这种情况下播种数据库的最佳方式是什么?我想做以下事情:
class DemoDataContext : DbContext
{
public DbSet<Item> Items { get; set; }
public DemoDataContext(DbContextOptions<DemoDataContext> options) : base(options)
{
Database.EnsureCreated();
if (!Items.Any())
{
Items.Add(new Item
{
Id = 1,
Name = "Item"
});
}
SaveChanges();
}
}
但是,我在 DbSet 方法上收到空警告,所以我不知道是否有更正确的方法来执行此操作。不过,我确实想让事情保持简单。