【发布时间】:2018-01-10 23:49:52
【问题描述】:
在我的 DataSet(以 XML 形式保存)中,我有一个包含三列的 Area 表:ID、Name 和 ParentId。 ParentId 是一个外键,它引用回 ID,有效地创建了区域的层次结构。
我想在一个名为Path的新列中维护每个Area的完整路径,其值可以递归定义为
{ area.Name ; if ParentId is null
area.Path := {
{ Parent.Path + "\" + area.Name ; otherwise
我希望将此列实现为计算列。
不幸的是,当我尝试将Expression 属性设置为以下表达式时
iif(isnull(ParentId, 0) = 0, Name, Parent.Path + '\' + Name)
我收到以下错误:
由于表达式中的循环引用,无法设置 Expression 属性。
这似乎排除了计算列。那么有哪些替代方案呢? IE。如何确保 Path 列始终包含可在数据绑定 UI 中使用的正确值?
【问题讨论】:
标签: recursion ado.net dataset calculated-columns