Poiché Google mi porta a questa pagina, suggerirei SqlKata , un semplice ma potente SqlQuery Builder, che supporta condizioni, subquery e join nidificati.
Attualmente supporta SqlServer, MySql e PostgreSql
var query = new Query("Users")
.LeftJoin("Countries", "Users.CountryId", "Countries.Id")
.Where("Status", "blocked")
.OrWhereIn("Id", new [] {10, 11, 12})
.OrWhere("LastLogin", ">", DateTime.UtcNow.AddMonths(-5));
Nota: Ne sono il proprietario
Differenza tra i diversi output di compilatori
MySql: https://sqlkata.com/playground/mysql?code=var%20query%20=%20new%20Query(%22Posts%22).Limit(10).Offset(20)%3B