我有以下类,其中 NextNode 指向 Node 类的另一个实例:
public class Node
{
public int Id { get; set; }
public int? NextNodeId { get; set; }
public Node? NextNode { get; set; }
...
}
由于我无法引用
NextNode
属性中尚不存在的节点,是否可以分两步为数据库播种?
首先创建节点,然后填充
NextNode
属性?
由于您将生成 Id,因此您可以简单地填写
NextNodeId
,而无需为 NextNode
填写 HasData
:
modelBuilder.Entity<Node>()
.HasData(new List<Node>
{
new Node
{
Id = 1,
NextNodeId = 2
},
new Node
{
Id = 2
}
});