在 EF Core 中播种实体后填充实体属性

问题描述 投票:0回答:1

我有以下类,其中 NextNode 指向 Node 类的另一个实例:

public class Node
{
    public int Id { get; set; }
    public int? NextNodeId { get; set; }
    public Node? NextNode { get; set; }
    ...
}

由于我无法引用

NextNode
属性中尚不存在的节点,是否可以分两步为数据库播种?

首先创建节点,然后填充

NextNode
属性?

c# entity-framework-core ef-core-8.0
1个回答
0
投票

由于您将生成 Id,因此您可以简单地填写

NextNodeId
,而无需为
NextNode
填写
HasData

modelBuilder.Entity<Node>()
    .HasData(new List<Node>
    {
        new Node
        {
            Id = 1,
            NextNodeId = 2
        },
        new Node
        {
            Id = 2
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.