作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有两个表,我想用种子填充它们。
我在 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/
我是一名优秀的程序员,十分优秀!