如何解决AsUpdate的SqlKata值作为列名
UPDATE "temp"."dbe01_measures" SET "category2name" = 'category4name'.
预期查询为:
UPDATE "temp"."dbe01_measures" SET "category2name" = "category4name"
我想使用category4name作为列名,而不是值。
此代码为:
var query = new Query(dimensionDataSource.Object)
var valuesToUpdateForQ1 = new Dictionary<string,object>
{
{toOptionDataSourceMetadata.NameColumn,fromDimension.DimensiondisplayName}
};
query.AsUpdate(new ReadOnlyDictionary<string,object>(valuesToUpdateForQ1));
var sqlQueryString1 = new QueryFactory { Compiler = new PostgresCompiler() }.Compiler.Compile(query1).ToString();
解决方法
您必须使用UnsafeLiteral
来指示编译器使用该值而不进行任何处理。
var q = new Query("Table").AsUpdate(new Dictionary<string,object> {
{"Id",1},{"Value",Expressions.UnsafeLiteral("\"Col\"")}
});
这将产生以下内容:
UPDATE "Table" SET "Id" = 1,"Value" = "Col"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。