簡體   English   中英

在 EF Core 中為新創建的實體應用自引用 ID

[英]Applying a self-referential ID in EF Core for newly created entities

我繼承了一個具有實體父/子層次結構的項目。 盡管 ParentId 可以為空,但它的設計使得沒有父實體的實體將其 ParentId 設置為自己的 Id。 有很多工作流依賴於這個約定,所以必須繼續遵循它。

在一次數據庫行程中創建新實體時,EF 中有什么我可以做的事情來將 ParentId 設置為等於實體的 Id? 現在我只是在沒有 ParentId 的情況下保存它,獲取新生成的 Id,將它也分配給 ParentId,然后再次保存。

public partial class Entity
{
    public long Id { get; set; }
    public long? ParentId { get; set; }
}

如果您這樣做,它應該由 EF 自動處理:

public partial class Entity
{
    public long Id { get; set; }
    public long? ParentId { get; set; }
    public Entity Parent { get; set; }
}

var entity = new Entity();
entity.Parent = entity;
SaveChanges();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM