首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架中的HierarchyID不起作用

实体框架中的HierarchyID不起作用
EN

Stack Overflow用户
提问于 2010-12-01 00:34:54
回答 2查看 10.3K关注 0票数 12

我们为我们的应用程序使用基于实体框架模型的WCF数据服务。

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

我应该怎么做才能使用HierarchyID?我读到实体框架不支持HierarchyID,那么我该如何实现呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-01 01:28:06

您始终可以将HierarchyId转换为它的字符串表示形式--类似于/1/3/4/1 --并通过WCF数据服务发送该字符串。

更新:如果您将此计算后的持久化列添加到您的SQL Server表中,则该新列肯定会显示在您的EF模型中,并且您应该能够使用它通过WCF和WCF将其发回:

代码语言:javascript
复制
ALTER TABLE dbo.YourTable
ADD HierarchyString AS (your hierarchyID field).ToString() PERSISTED

更新#2: read the docs!您可以将像/1/3/4/1这样的字符串解析回HierarchyId类型-可以使用HierarchyId::Parse(string)或常用的CAST(string as HierarchyId)方法来完成此操作。

票数 24
EN

Stack Overflow用户

发布于 2011-08-02 22:42:21

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

代码语言:javascript
复制
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public string HierarchyString { get; set; }

有关更多信息,请查看本文:Entity Framework Code First Computed Properties

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4316069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档