c# - sqlkata 如何将带点的表名包装到方括号中?
问题描述
我想得到这样的查询。
INSERT INTO [z_odv_17.02.2018] ([Val1], [Val2]) VALUES (@p0, @p1)
但是 sqlkata 编译这个查询略有不同。
INSERT INTO [z_odv_17].[02].[2018] ([Val1], [Val2]) VALUES (@p0, @p1)
如何将带有点的整个表名包装到括号中?或者作为替代方式,如何让 sqlkata 忽略点?
基本上,我需要 sqlkata 来编译一个名称,[z_odv_17.02.2018]
而不是[z_odv_17].[02].[2018]
.
我曾尝试使用FromRaw
,但System.InvalidCastException
被抛出。它不能从SqlKata.RawFromClause
to 转换SqlKata.FromClause
。
重现错误的代码片段。
var name = "[z_odv_17.02.2018]";
var sql = new Query()
.FromRaw(name)
.AsInsert(new
{
Val1 = 1,
Val2 = true
});
var mssql = new SqlServerCompiler();
var mssqlResult = mssql.Compile(sql);
var mssqlText = mssqlResult.Sql;
解决方案
推荐阅读
- ssas - 按列小计测量
- file - 从 url 下载文件,保存到手机存储
- c# - C#中的日期范围检查
- java - 如何将 BEGIN_OBJECT 转换为 BEGIN_ARRAY
- amazon-web-services - Aws 未记录表还原
- java - AsyncContext ReadListener 超时后仍在运行
- android - 在哪里可以找到有关 Android Studio 中过时 API 的调试信息?
- laravel - 在 Laravel 中动态映射路线
- r - 参数在 Dockerfile 的 CMD 中被忽略
- google-sheets - 选择一个范围中的最大数字,该数字也小于另一个范围行中的相应数字