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();
Most designers open Illustrator immediately. Mistake. James preaches the analog revival. The PDF contains dozens of scanned sketchbook pages showing how he uses a thick Sharpie to block out shapes.
Logo design is a specialized field that requires a deep understanding of visual communication, branding, and design principles. James' guide provides a comprehensive overview of logo design, covering topics such as: Most designers open Illustrator immediately
Every morning before you check email, take a page from the PDF's prompt list. Spend 15 minutes sketching 30 logos for a fake company (e.g., "Panda Plumbing" or "Rocket Raccoon Coffee"). Do not touch a computer. The PDF contains dozens of scanned sketchbook pages
In an industry obsessed with polish, James Martin reminds us that a logo is not a logo until it means something to someone. The pen is always mightier than the pixel. Spend 15 minutes sketching 30 logos for a fake company (e
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.
Most designers open Illustrator immediately. Mistake. James preaches the analog revival. The PDF contains dozens of scanned sketchbook pages showing how he uses a thick Sharpie to block out shapes.
Logo design is a specialized field that requires a deep understanding of visual communication, branding, and design principles. James' guide provides a comprehensive overview of logo design, covering topics such as:
Every morning before you check email, take a page from the PDF's prompt list. Spend 15 minutes sketching 30 logos for a fake company (e.g., "Panda Plumbing" or "Rocket Raccoon Coffee"). Do not touch a computer.
In an industry obsessed with polish, James Martin reminds us that a logo is not a logo until it means something to someone. The pen is always mightier than the pixel.