3

我正在尝试为 DataColumn 添加表达式,它将当前列的布尔值更改为字符串值:

col = new DataColumn("isDirectionIn", typeof(string),
                                     "IIF(isDirectionIn = true, 'in', 'out')");

但我总是得到一个 ArgumentException:由于表达式中的循环引用而无法设置表达式属性。

我应该怎么做才能避免这个异常?预先感谢。

4

1 回答 1

2

错误消息清楚地告诉您,您在计算表达式列时引用了表达式列,因此是循环引用。

您需要执行以下操作:

col = new DataColumn("isDirectionAsString", typeof(string),
                                     "IIF(isDirectionIn = true, 'in', 'out')");

换句话说,你不能“就地”做到这一点。您的“作为字符串”值需要一个额外的列。

干杯

于 2014-02-19T11:31:01.913 回答