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.
The protagonist arranges to meet his new editor at a cafe. To his absolute horror, the person who sits down across from him is his own mother. It turns out she has entered the workforce (or changed careers) and has become an editor at the publishing company he works for—without either of them knowing the other's involvement in the industry.
Taken together, the title can be interpreted as "An Accidental Bomb/Mistake: My Leisurely, Bored Moe (feeling for a) Mom." This encapsulates the story's premise perfectly—an accidental and taboo relationship (the "gobaku") born from a deep-seated, seemingly leisurely "moe" feeling towards a maternal figure.
Forced into close proximity within the tight confines of the convenience store shifts, the psychological barriers break down, pulling both characters deeper into an inescapable, passionate affair. 🔄 Release Status: Decoding the "UPD" gobaku moe mama tsurezure upd
The series moves beyond standard domestic settings to explore how the characters handle the real-world fallout of their choices. Details from The Movie Database (TMDB) outline the progression across its major releases:
The series is formally titled in Japanese and Gobaku: Moe Mama Tsurezure in English‑language databases. The title itself weaves together several Japanese terms that set the tone for the story. The protagonist arranges to meet his new editor at a cafe
This article provides a comprehensive overview of the series, including a summary of its plot, the recent upd (update) regarding its thematic direction, and what fans can expect next. What is Gobaku Moe Mama Tsurezure?
The narrative explores a complex, forbidden relationship between a married woman and a younger man, building high emotional tension across its episodes. Episode 1: The Forbidden Confession June 28, 2024 Taken together, the title can be interpreted as
The story revolves around a mature, attractive mother who accidentally enters into an inappropriate and forbidden relationship with a young man whom she has historically viewed and raised as a son. Plagued by guilt and societal expectations, she actively tries to sever ties and suppress her passions. The Convenience Store Arc (Episode 2 Details)
The core narrative of the series focuses on intense emotional conflict, guilt, and inescapable physical attraction. Unlike generic adult animation, this series dedicates significant runtime to establishing a morally complex narrative. The Core Conflict