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.
Unlike standard entertainment journalism, which often moves on to the next news cycle within hours, a feature-length documentary has staying power. These projects frequently act as catalysts for tangible legal, corporate, and social change.
Have you ever wondered what actually happens after the director yells "Cut!"? 🎥
A crucial sub-genre focuses on the unsung heroes who shape culture from the shadows. Documentaries like 20 Feet from Stardom highlight background singers who anchored massive hits without receiving credit or financial security. Similarly, films about stunt performers, voice actors, and early female directors correct historical narratives by giving credit where it is long overdue. Why Audiences are Obsessed girlsdoporn 21 years old e492 hardcore top
Victims described a range of lifelong consequences:
When we talk about the "GDP E492" video, we are not discussing a piece of pop culture. We are discussing a digital artifact of a crime. The 27-year sentence handed to Michael Pratt marks a definitive end to the site’s operations, but the story serves as a stark reminder of the importance of fighting for ethical production standards and ironclad consent in the adult entertainment industry. The search query remains, but the justice system has changed the narrative behind it for good. 🎥 A crucial sub-genre focuses on the unsung
A cohesive essay should follow a logical progression, typically organized into these sections: Zelig Film School essay: What is a Documentary (part 1/3)
Whether it's a multi-episode deep dive on Netflix or an indie passion project, these films remind us that the most compelling drama often happens when the cameras aren't "supposed" to be rolling. Why Audiences are Obsessed Victims described a range
The Sparks Brothers (2021) or The Defiant Ones (2017) preserve the legacies of musical pioneers who shaped pop culture behind the scenes. Why Audiences Are Obsessed with the Behind-the-Scenes
Documentaries highlighting conservatorship abuse and the exploitation of minors have directly influenced legislative changes and policy overhauls.