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.
How much time do you want to spend ?
Ammunition is heavy, which limits hunt duration early on. 3. Elite Knight: The Unkillable Wall
user wants a long article about "tibia 74 best vocation". This is likely about the MMORPG Tibia, and "74" probably refers to combat level 74. I need to provide thorough guidance on choosing the best vocation at this level. tibia 74 best vocation
They don't rely on expensive runes for basic hunting, making them the best "gold makers" in the long run.
The Ultimate Tibia 7.4 Vocation Guide: Which Class Reigns Supreme? How much time do you want to spend
Choosing your character class in this era was a permanent, monumental decision. Each choice altered your entire mechanical experience, your economic status, and your role in the legendary guild wars of the time. The Contenders: Detailed Vocation Analysis 1. The Master Sorcerer (The Supreme Powerhouse)
To understand why certain vocations dominate version 7.4, you must first understand the fundamental rules of the era: Elite Knight: The Unkillable Wall user wants a
The only class that can tank multiple creatures.
Choose if you enjoy a supportive playstyle, tactical PvP control, and making money passively through rune making.
Essential for keeping Knights alive during high-level hunting.
For team players, the Druid is the because you bypass the "LFG" queue. Everyone wants a Druid. If you have a fixed Knight friend, this is the only correct choice.