Csharp/C#教程:entity framework中的HierarchyID不起作用分享


entity framework中的HierarchyID不起作用

我们正在为我们的应用程序使用基于entity framework模型的WCF数据服务。

在这里,我们需要添加一个类型为HierarchyId的列的表。 当我将该表添加到EDMX文件时, HierarchId列不会出现在类文件中。

我该怎么做才能使用HierarchyID ? 我读到Entity Framework不支持HierarchyID ,那么我该如何实现呢?

您始终可以将HierarchyId转换为其字符串表示forms – 类似于/1/3/4/1 1/3/4/1 – 并在WCF数据服务中发送该字符串。

更新:如果您将此计算的持久列添加到SQL Server表中,那么新列肯定会出现在您的EF模型中,您应该能够使用它来通过WCF和WCF数据服务将其发回:

 ALTER TABLE dbo.YourTable ADD HierarchyString AS (your hierarchyID field).ToString() PERSISTED 

更新#2: 阅读文档 ! 您可以将像/1/3/4/1 1/3/4/1这样的字符串解析为HierarchyId类型 – 使用HierarchyId::Parse(string)或通常的CAST(string as HierarchyId)方法来执行此操作。

如果您使用计算列,请记住,您还需要在您的属性上使用DatabaseGenerated数据注释,如下所示:

 [DatabaseGenerated(DatabaseGeneratedOption.Computed)] public string HierarchyString { get; set; } 

查看此文章了解更多信息: entity framework代码第一个计算属性

上述就是C#学习教程:entity framework中的HierarchyID不起作用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1003205.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐