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.
Put your phone away. When you speak to someone, look them in the eye. When you eat, taste the food. This is Tantric living. It sounds simple, but in our distracted world, it is a radical act.
At its core, Tantra is a spiritual path that says everything in life—every emotion, sensation, and yes, every sexual impulse—is a doorway to the divine. Unlike some ascetic paths that ask you to deny the body to feed the spirit, Tantra says the body is the temple. It teaches that you do not need to go to a mountaintop to find enlightenment; you can find it right here, in the texture of your breath and the beat of your heart.
means "to weave". Imagine your life is a loom, and until now, you have been keeping the threads of your "spiritual" life (meditation, peace, higher thoughts) and your "physical" life (sexuality, relationships, daily chores) separate. The story of "Tantra Made Easy" is about finally bringing those threads together to create a single, beautiful fabric. 1. The Call to the Path tantra made easy
In the coastal town of Veridia, where the sea mist curled around cobblestone streets like a blessing, lived a man named Leo. Leo was a professional simplifier. He wrote best-selling books with titles like Zen for the Zoom Era and The Five-Minute Stoic . His greatest hits were bullet-pointed, app-friendly, and utterly devoid of mystery. So when his publisher offered him a lucrative advance for Tantra Made Easy , Leo didn’t hesitate.
Derived from the Sanskrit word meaning "to weave," Tantra is about weaving the physical and spiritual together to experience life more deeply. Whether you are looking to deepen an intimate relationship or find a greater sense of peace within yourself, here is how you can make Tantra easy and accessible for your daily life. What is Tantra, Really? Put your phone away
In the gloom, he noticed a small, unopened package his publisher had sent as “research material.” Inside was not a book, but a wooden box. He pried it open. Nestled in velvet lay a single object: a small, hand-painted statue of a goddess—Kali, wild-eyed, tongue out, standing on a prone figure. Next to it, a handwritten note on yellowed paper: “Tantra made easy? You cannot make the ocean easy. You can only learn to drown.”
For most people in the Western world, the word triggers immediate associations with complex sexual positions, marathon lovemaking sessions, or esoteric rituals that seem better suited to an ancient temple than a modern bedroom. Popular culture has reduced a vast, profound spiritual tradition into a buzzword for "better sex." This is Tantric living
Most of us live in our heads. Tantra demands you drop into your gut, your genitals, and your heart. This is terrifying for most people because we have shame about our bodies.
Tantra Made Easy: A Beginner’s Guide to Sex, Spirit, and Presence