gpt4 book ai didi

c# - 用于在 C# 中选择的 SQL 查询生成器

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:16 25 4
gpt4 key购买 nike

在我的应用程序中,我想构建 sql 查询以获取结果集并导出到 excel。在我的页面中,我需要指定在 excel 中显示所需的条件和列。我经历了this邮政。因为我们可以选择所需的列并可以编写 where 子句,并从多个表中进行选择,但它不支持某些功能,例如“联合”,有什么方法可以构建复杂的查询以从 sql 中获取动态结果

最佳答案

我会推荐轻量级 SqlKata .

它允许动态构建 SQL 查询并使用您希望的任何框架(或内置执行器)执行它。

支持:

  • SqlServer、MySql、PostgreSql 和 Firebird 提供商

  • Select、From、Where、Limit & Offset、Join、Group、Order、Having、Union/Except/Intersect、CRUD、字符串和日期操作等。

联合示例:

            var compiler = new SqlServerCompiler();
var query = new Query("User")
.Select("Id as UserId")
.Select("Email")
.Where("Id", "<", 10)
.Union(new Query("User")
.Select("Id as UserId", "Email")
.Where("Id", ">", 15)
.Where("Id", "<", 20));

var sqlResult = compiler.Compile(query);

它将生成以下 sql 查询:

SELECT [Id] AS [UserId], [Email] FROM [User] WHERE [Id] < @p0 UNION (SELECT [Id] AS [UserId], [Email] FROM [User] WHERE [Id] > @p1 AND [Id] < @p2)

关于c# - 用于在 C# 中选择的 SQL 查询生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30481306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com