将 HierarchyId 转换为字符串 - 无法将类型 'System.Byte[]' 的对象转换为类型 'System.String'

Convert HierarchyId to string - unable to cast object of type 'System.Byte[]' to type 'System.String'

我在我的 EFCore3.1 中使用 HierarchyId,我在我的应用程序中分离了读和写, 在阅读中,我创建了一个模型如下:

public class Category
{
    public string Id { get; set; }
    // removed for brevity
}

我应该提一下,写起来效果很好。 这是我在写作中使用的模型:

public class Category
{
    public HierarchyId Id{ get; }
    // removed for brevity
}

我需要 运行 我的应用程序出现以下错误:

Unable to cast object of type 'System.Byte[]' to type 'System.String'.

有什么办法可以把HierarchyId转成字符串吗?

编辑: 我使用 entityframeworkcore.sqlserver.hierarchyid 包。

这是我必须做的:

      builder.Property( x => x.Id )
             .HasConversion(
                            v =>HierarchyId.Parse( v ),
                            v => v.ToString() ) ;