所以我需要为每个实体创建它自己的种子类。 当实体存在某种层次结构时,问题就出现了,比如一个实体与另一个实体有关系,第二个实体与第三个实体有关系,依此类推。
例如我有 4 个实体:
实体1
实体2
实体3
实体4
当我播种实体1和实体2时,我还为实体分别创建两个枚举。该枚举将包含实体的 id。 在播种实体3时,我从第一个和第二个枚举中获取所有值,然后使用循环在实体3实体中播种此Entity1Id和Entity2Id属性。
此刻一切都很棒。 但问题是 Entity4 使用 Entity3Id ,我无法指定。对于这个实体,我无法创建将保存其 id 的枚举,因此我可以将它用于 Entity4 实体中的 Entity3Id。
我该如何解决这个问题。 只需要以某种方式从 Entity3 获取所有 id 并在 Entity4 实体中设置 Entity3Id 属性。
就您而言,
Entity3
与Entity4
有关系。可以直接添加到Entity3的导航属性中。
即:
// `Entity3` have one to many relationship with `Entity4`
entity3.Entities4.Add(entity4);
dbContext.Add(entity3);
await dbContext.SaveChangeAsync();