sql-server - .NET Core 3.1/5 和 SQL Server HierarchyId
问题描述
如何在 .NET Core 中自动/以编程方式生成HierarchyId,我将 Category 设置为另一个子项,并希望 HierarchyId 字段自动更新,但没有任何反应。
我需要一种方法来手动计算和更新吗?
public class Category : BaseModelSimple<int>
{
public HierarchyId Node { get; set; }
public int? ParentId { get; set; }
[ForeignKey("ParentId")]
public virtual Category Parent { get; set; }
public virtual ICollection<Category> Childs { get; set; }
}
解决方案
HierarchyId 列不会自动生成值,您显然甚至可以输入重复项,除非您还有一个强制唯一值的索引,如果您需要多个根条目,这可能会出现问题。我见过的大多数示例都预先填充根节点,然后从那里添加子节点,这涉及获取要添加子节点的节点,获取所有子节点,找出最后一个,然后在此之上添加。
您可能会发现以下链接的评论有助于入门,希望您不会遇到我无法通过 .NET 添加数据的相同问题,因为我不断收到转换错误。
推荐阅读
- node.js - redirect_uri_mismatch: http://localhost:4500/AUTH/auth/google/callback,不匹配
- swift - 条件绑定的初始化程序必须具有 Optional 类型,而不是 Swift 5 中的 CustomClass
- java - 如何使用 LocalDateTime 查询今天的所有实体?
- c# - 如何防止同一类型表单的对象同时添加到列表中
- reactjs - 这是呈现组件的标准方式吗?
- python-3.x - Boto3 担任 MFA 的跨账户角色
- android - 我使用 hupu 应用程序时的 Android 11 文件共享错误
- html - 桌面:div 并排包含 3 个元素
- python - I got error while getting all the list of members from guild
- xml - 读取 XML 文件元素和之间的值