我正在尝试为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')");
换句话说,您不能“就地”执行该操作。您需要为“作为字符串”值添加一个额外的列。
干杯