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.
Replace input.chd with the name of your CHD file. After the command finishes, you will have output.cue and output.bin files ready for use.
Regardless of which method you choose, nearly all conversion roads lead to . This is the command-line tool created by the MAME team that handles the heavy lifting of compression and decompression.
DVD images come from consoles like , GameCube , Wii , Xbox , and certain PC DVD games. Their larger storage capacity and different file system require DVD-specific commands in chdman. Getting this type correct ensures the extracted ISO works properly with software expecting a standard DVD layout.
If you are building a massive library of repacks, converting files one by one is highly inefficient. You can automate the entire process using a simple Windows batch script. How to Create a Batch Conversion Script Open on your computer. Paste the following script into the blank document: convert chd to iso repack
While CHD is ideal for space-saving storage, it is not universally compatible. You generally need to revert to ISO for three main reasons:
: While many websites offer pre-packed batch scripts containing chdman , you should always download it directly from the official source to avoid corrupted files or malware.
Note: This automatically creates the corresponding .bin file alongside the .cue . 3. Batch Convert (Windows) Replace input
Replace <input_file>.chd and <output_file>.iso as necessary.
This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.
To convert files back to ISO or BIN/CUE format, you must use chdman , a command-line utility included with the MAME emulator . 1. Extract a Single CHD to ISO This is the command-line tool created by the
If the command line feels a bit too "1995" for you, is a fantastic graphical user interface (GUI) for chdman. Download namDHC from a trusted source like GitHub. Select the "Decompress" tab. Drag and drop your CHD files into the window. Hit "Go" and let the software handle the commands for you. Tips for Repack Enthusiasts
: Before going through the effort of converting a file, it is a good idea to verify its integrity. Use the command chdman verify -i "input.chd" . If the verification fails, the CHD file may be corrupted, and the resulting ISO will likely be unusable.
The most reliable tool for this process is , a command-line utility bundled officially with MAME (Multiple Arcade Machine Emulator). Step 1: Download and Extract chdman
Which are you repacking these games for? Are you running this process on Windows, macOS, or Linux ?