Dado que Google me lleva a esta página, sugeriría SqlKata , un SqlQuery Builder simple pero poderoso, que admite condiciones anidadas, subconsultas y uniones.
Actualmente soporta SqlServer, MySql y 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));
Diferencia entre la salida de diferentes compiladores
MySql: https://sqlkata.com/playground/mysql?code=var%20query%20=%20new%20Query(%22Posts%22).Limit(10).Offset(20)%3B
Servidor Sql: https://sqlkata.com/playground/sqlserver?code=var%20query%20=%20new%20Query(%22Posts%22).Limit(10).Offset(20)%3B