【发布时间】:2020-05-03 10:01:19
【问题描述】:
我目前正在使用System.Linq.Dynamic.Core 在我的应用程序中生成 SQL 语句。问题是当我尝试
db.table.select("new (column1 as a1)").ToString()
生成的 SQL 字符串会自动添加另一个 1 AS [C1] 并且列别名 a1 没有出现在输出字符串中:
SELECT
1 AS [C1],
[Extent1].[column1] AS [column1]
FROM
(SELECT
[table].[column1] AS [column1]
FROM
table AS [table]) AS [Extent1]
我的问题是如何实现以下结果以及为什么会发生上述行为。
SELECT
[Extent1].[column1] AS [c1]
FROM
(SELECT
[table].[column1] AS [column1]
FROM
table AS [table]) AS [Extent1]
【问题讨论】:
-
经过长时间的搜索,我意识到使用
LINQ实现上述结果是一项痛苦的工作,看起来LINQ的最终目的是处理List object将被返回。所以我决定使用 sql builder 库https://sqlkata.com/来生成所需的查询。