【发布时间】:2018-10-02 12:11:31
【问题描述】:
使用 ASP.NET Core 2.1 和 Entity Framework Core 2.1 我有以下实体:
public class Category {
public Int32 Id { get; set; }
public String Name { get; set; }
}
public class Post {
public Int32 Id { get; set; }
public Int32 CategoryId { get; set; }
public String Title { get; set; }
public String Content { get; set; }
public virtual Category Category { get; set; }
}
对于播种类别,我有以下内容:
modelBuilder.Entity<Category>().HasData(
new { Id = 1, Name = "Reading" },
new { Id = 2, Name = "Travelling" }
);
但是,对于播种帖子,我从 YML 文件中获取数据:
var posts = _service.GetPostsFromYMLFiles(path);
modelBuilder.Entity<Post>().HasData(posts);
posts 取自 YML 文件,如下所示:
new { CategoryName = "Reading", Title = "A", Content = "A Content" },
new { CategoryName = "Travelling", Title = "B", Content = "B Content" }
这些 YML 文件是由第三方创建的,我无法更改它们。
要播种这些帖子,我认为我需要:
- 获取每个 CategoryName 对应的 Category Id;
- 为每个帖子生成一个 ID。
步骤(2)看起来很简单,但我怎样才能完成步骤(1)?
【问题讨论】:
标签: asp.net-core entity-framework-core asp.net-core-2.1 entity-framework-core-2.1