gpt4 book ai didi

c# - 如何在 Entity Framework Core 2 中播种?

转载 作者:IT王子 更新时间:2023-10-29 04:04:29 26 4
gpt4 key购买 nike

我有两个表,我想用种子填充它们。

我在 Ubuntu 中使用 ASP.NET Core 2。

如何填充通过外键连接到另一个表的两个表的数据?

Flowmeter有很多注释,注释属于Flowmeter。

我想做这样的事情,但它应该存储在数据库中:

new Flowmeter 
{
Make = "Simple model name",
SerialNum = 45,
Model = "Lor Avon",
Notes = new List<Note>()
{
new Note() { Value = 45, CheckedAt = System.DateTime.Now },
new Note() { Value = 98, CheckedAt = System.DateTime.Now }
}
}

最佳答案

Entity Framework Core 2.1 开始,现在有一种新的数据播种方法。在您的 DbContext 类中覆盖 OnModelCreating:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Blog>().HasData(new Blog { BlogId = 1, Url = "http://sample.com" });
}

对于相关实体,使用匿名类并指定相关实体的外键:

modelBuilder.Entity<Post>().HasData(
new {BlogId = 1, PostId = 1, Title = "First post", Content = "Test 1"},
new {BlogId = 1, PostId = 2, Title = "Second post", Content = "Test 2"});

重要提示:请注意,在 OnModelCreating 方法和 Update-Database 中输入此数据后,您需要运行添加迁移以更新数据。

官方文档已updated .

关于c# - 如何在 Entity Framework Core 2 中播种?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com