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

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


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

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

最佳答案

该错误消息清楚地告诉您,您在“表达式”列的计算中引用的是“表达式”列,因此是循环引用。

您需要执行以下操作:

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


换句话说,您不能“就地”执行该操作。您需要为“作为字符串”值添加一个额外的列。

干杯

08-28 22:18