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 release of Piratas del Caribe 3: En el Fin del Mundo (2007) marked a massive cinematic event. It wasn’t just a sequel; it was the grand conclusion to the original trilogy that transformed a Disney theme park ride into a multi-billion dollar cultural phenomenon.
The narrative explodes into a chess game of betrayals, sea goddesses, and pirate politics. The Brethren Court—a council of nine pirate lords—must convene to release the imprisoned goddess Calypso (Naomie Harris), who once loved Davy Jones before he betrayed her. The climax is the legendary Battle of Calypso’s Maelstrom, a swirling whirlpool fight where the Black Pearl and the Flying Dutchman engage in naval warfare while characters switch sides, swords clash, and destinies are sealed.
El destino y el sacrificio La pelĂcula concluye con sacrificios significativos. Will Turner debe aceptar su destino como el nuevo capitán del HolandĂ©s Errante, renunciando a una vida terrenal con Elizabeth. Este final marcĂł un punto de inflexiĂłn maduro para la franquicia, separándose del final "feliz para siempre" tĂpico de las pelĂculas de Disney. Piratas del Caribe 3- En el Fin del Mundo
En el rincĂłn más oscuro de Singapur, bajo la mirada de Sao Feng, Elizabeth Swann y Barbossa buscaban lo imposible: una carta de navegaciĂłn que llevara al borde del mundo. Porque Jack Sparrow no estaba muerto, pero deseaba estarlo; languidecĂa en el Calabozo de Davy Jones, un desierto de arena blanca donde el Perla Negra encallaba en la nada absoluta.
Freedom vs. Control: Beckett’s “world without pirates” is a metaphor for corporate homogenization. The pirates’ chaotic democracy is messy but alive. The film argues that a flawed, dangerous freedom is worth dying for. The release of Piratas del Caribe 3: En
Pirates of the Caribbean: At World’s End is a film unafraid to be strange. It gives a supporting role to a crab who plays dice. It includes a scene where nine pirate lords vote by throwing pieces of eight into a bucket. It ends with a ten-year post-credits scene of Elizabeth and her son watching a green flash on the horizon—a promise that Will will return from the deep.
Up is Down: The crew flips the ship upside-down to return from the Locker. As the stars reflect on the sea, the world literally inverts. Pure, nonsensical pirate magic. The Brethren Court—a council of nine pirate lords—must
El "Verde Destello": Esa escena del barco volcándose para volver del mundo de los muertos es, visualmente, de lo más creativo que ha hecho Disney.