我正在尝试添加表达式,它将当前列的布尔值更改为字符串值,用于DataColumn:
col = new DataColumn("isDirectionIn", typeof(string),
"IIF(isDirectionIn = true, 'in', 'out')");
但是我总是得到一个ArgumentException:由于表达式中的循环引用,无法设置Expression属性。
我应该怎么做才能避免这种异常?提前谢谢。
答案 0 :(得分:2)
错误消息告诉您,您在计算表达式列时引用了“表达式”列,因此是循环引用。
您需要执行以下操作:
col = new DataColumn("isDirectionAsString", typeof(string),
"IIF(isDirectionIn = true, 'in', 'out')");
换句话说,你不能“就地”这样做。您需要一个额外的列作为“as string”值。
干杯