如何从上下文中播种数据库

问题描述 投票:0回答:0

我正在为面试做一个 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 方法上收到空警告,所以我不知道是否有更正确的方法来执行此操作。不过,我确实想让事情保持简单。

asp.net frameworks entity core seed
© www.soinside.com 2019 - 2024. All rights reserved.