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.
If you are looking to install this content, make sure you have the required dependencies and are running a compatible version of Trainz Simulator 12 or later. If you can tell me:
Realistic freight cars ( Грузовые ) and passenger carriages ( Пассажирские ) built with era-appropriate weather textures and operational physics.
Because this is a community-contributed patch, it cannot be downloaded from mainstream marketplaces like Google Play. It is primarily shared across Russian virtual railway forums and dedicated communities like the Trainz Android VK Group or Telegram channels. To install the build correctly, follow these steps:
The Evolution of a Virtual Railway: An Essay on Trainz Simulator Introduction
Many creators host their realistic regional content (especially for custom or localized railway lines) on independent simulation websites: trainz simulator by keks 40
Never run or extract .exe files claiming to be custom trains, as these may contain malware.
A popular hub for German-speaking creators. Search the Trainz.de international section or use the search bar for "keks 40" as many German creators host their files there before or instead of the DLS.
Trainz Simulator by Keks 40 is a must-play for train enthusiasts and simulation gamers. With its engaging gameplay, realistic features, and active community, this version of the franchise offers a unique and rewarding experience. So, get ready to all aboard and experience the thrill of train simulation like never before!
Legend had it that Keks 40 wasn’t just a player; he was a digital architect. He had taken the foundation of Trainz Simulator Android and, through an " Edit by ACE Trainz ," transformed it into a powerhouse of custom content. After a careful search, Leo found the portal—a Google Drive link If you are looking to install this content,
Always run independent downloads through a local antivirus scan before importing them into your game client.
Much of the content goes beyond just visuals, often incorporating custom cabin controls, realistic sound sets, and advanced signaling compatibility. Atmospheric Routes:
The custom build by community modder Keks40 turns a restricted, aging app into a highly modular sandbox platform.
To download large files or many assets at once from the DLS without speed limits, you may need a First Class Ticket . It is primarily shared across Russian virtual railway
To run Trainz Simulator by Keks 40, you'll need a computer with the following specifications:
Because this is a community-modified version, you cannot find it on the official Google Play Store. It requires manual installation using an APK file and cache data (OBB/Data files).
Propose how you would like to proceed with your setup! Share public link