从现有查询中使用 SqlKata

Using SqlKata from an existing Query

我有现有查询用于服务中 运行 的作业以生成报告。像

这样简单的事情
"Select * from Transactions"

然后作业将根据预设规则将参数附加到这些查询,例如 Date>Yesterday 等。SqlKata 看起来可以做到这一点,但我不确定如何从现有查询中实例化 Query 对象。这样的事情可能吗?

Dim Qry as new Query("Select * from Transactions").OrderByDesc("Date")
Qry.Where("Date", ">", Date.Now().AddDays(-1))
return Qry.Get()

在这种情况下,您可以做的最接近的事情是包装内部查询并在其上添加条件,您可以在此处使用 SubQuery 或 CTE 方法。 像这样,在 C# 中是这样的,但想法是一样的。

var existingSql = "select * from transactions";
var query = new Query().FromRaw($"({existingSql}) as inner")
                       .Where("date", ">=", DateTime.UtcNow.Date);

检查这个例子on playground