A fluent SQL query builder for C#
var query = db.Query("Books").OrderByDesc("PublishingDate");
if(Request.Has("category.name"))
{
var category = Request.Get("category.name");
query.Join("Categories", "Categories.Id", "Books.CategoryId")
.Where("Categories.Name", category);
}
var recentBooks = query.Limit(10).Get();
You will be able to write complex queries without hitting the docs
It uses the parameter binding technique, to prevent SQL injection.
It supports Operator whitelisting.
It Supports SqlServer, MySql, PostgreSql, Oracle, SQLite and Firebird.
Sub queries, nested Where conditions, Common Table Expressions, Complex Join statements and more.
Don't wait, add your own methods.
Extend the current compiler to support your favorite database.
Available when you need the little push, Date/Time and String helper methods like
WhereDate(), WhereTime(), WhereContains() and many more.
No long setup required, just write the query and get the data.
With few lines of code, you can start building your app.
It cannot be simpler!
var compiler = new SqlServerCompiler();
var db = new QueryFactory(connection, compiler);
var books = db.Query("Books").Get();
db.Query("Books").Where(q =>
q.Where("Stock", "<", 50).OrWhere("InHighDemand", 1)
).Union(
db.Query("Books").Where("Price", "<", 10)
);
Forget about hacky solutions, and write the query the way you want it from the begining.
Unleash your SQL skill and write performant queries from the first minute.
A better way to expose your queries.
Share your base queries with your team, and let them build on top of it.
Kind of stored procedure but written in C#.
// define the base queries
class TransactionService
{
public Query All()
{
return db.Query("Transactions").WhereTrue("IsApproved");
}
public Query Latest(int top = 10)
{
return All().OrderByDesc("Date").Take(top);
}
}
// then extend them as needed per request
var data = transactionService.Latest(10)
.Join("Accounts", "Accounts.Id", "AccountId")
.Get();
SqlKata is compatible with both .NET Core and .NET Framework.
Works on Windows, Linux and macOS.
Build advanced dashbaords and reports without sacrificing the performance.
“Developers say that they never had this powerfullness before.”
var visitsTimeline = db.Query("Visits")
.Join("Users", "Users.Id", "Visits.UserId")
.WhereBetween("2026-02-08", "2026-05-08")
.GroupBy("Users.Id", "Visits.Date")
.Select("Users.Id", "Visits.Date")
.SelectRaw("count(1) as [Count]")
.Having("Count", ">", 5)
.Get();
var activity = db.Query("Activities")
.Join("Users", "Users.Id", "Visits.UserId")
.OrderByDesc("Date")
.Union(new Query("Alerts"))
.OrderBy("Date")
.Get();
SqlKata make it easy to build Web API interfaces, you can use it to build REST or GRAPHQL interfaces.
Powered with some useful methods like Include, ForPage and Paginate.
To appreciate the 1993-94 edition, one must first understand the methodology behind it. The word Vakya translates to "sentence" or "statement." In the context of Indian astronomy, it refers to a set of concise Sanskrit verses (slokas) that provide direct, ready-made rules for calculating the positions of celestial bodies.
Jupiter ( Guru ) crossed from Virgo ( Kanya ) into Libra ( Thula ) in late 1993, drastically altering the auspiciousness of marriages and business ventures during the latter half of the year. Vakya Panchangam 1993-94
These dates are critical for Hindu rituals like Tarpanam . The 1993-94 edition is particularly famous for listing a "Adhika Maasa" (leap month) correction. If you were born in 1993, your Rasi and Nakshatra as per Vakya will remain correct for precisely 60 years until 2053, making this calendar a vital tool for longevity predictions. To appreciate the 1993-94 edition, one must first
Furthermore, as we approach the 2040s, the drift between the fixed Vakya phrases and the actual sky will require a new compilation. The 1993-94 edition serves as the baseline for the next expected Vakya Parisodhana (correction). These dates are critical for Hindu rituals like Tarpanam
For example, if the standard calendar said Thai Poosam is on Jan 28, 1994, the might list it on Jan 29th because the Poosam star actually begins at 9:00 PM on the 28th (crossing midnight). In Vakya, the day starts at Sunrise; hence, the shift.
Unlike the Drik Ganitha (modern calculation) system, which relies on precise, current astronomical observations and NASA-level precision to track the movement of planets, the relies on ancient wisdom encapsulated in texts like the Vakyakarana .