ShadowSql之极简模式查询示例
ShadowSql拼接sql可以很简单,非必须的事情都可以不做,非必须的对象也都不构造。可以不用提前配置,开箱即用。
这里我们示例一下极简模式。
一、极简单表查询
1. SqlQuery极简查询
var users = SimpleDB.From("Users");
var query = users.ToSqlQuery()
.Where(users.Field("Id").LessValue(100));我们还可以用这样查询
var query = SimpleDB.From("Users")
.ToSqlQuery()
.Where(users => users.Field("Id").LessValue(100));
sql: SELECT * FROM WHERE users.Field("Id").LessValue(100));
sql: SELECT * FROM WHERE t1.Field("DepartmentId").Equal(t2.Field("Id"))) .WhereLeft(t1 => t1.Field("Age").GreaterValue(30)) .WhereRight(t2 => t2.Field("Manager").EqualValue("CEO")); var users = SimpleDB.From("Users");
var query = users.ToQuery()
.And(users.Field("Id").LessValue(100));
sql: SELECT * FROM AS e INNER JOIN AS d ON e.=d. WHERE e.>30 AND d.='CEO'
var query = SimpleDB.From("Users")
.ToQuery()
.And(users => users.Field("Id").LessValue(100));sql: SELECT * FROM AS e INNER JOIN AS d ON e.=d. WHERE e.>30 AND d.='CEO'
可以设置别名
var joinOn = SimpleDB.From("Employees").SqlJoin(SimpleDB.From("Departments"))
.On(static (t1, t2) => t1.Field("DepartmentId").Equal(t2.Field("Id")))
.WhereLeft(t1 => t1.Field("Age").GreaterValue(30))
.WhereRight(t2 => t2.Field("Manager").EqualValue("CEO"));
2、Query极简联表
var joinOn = SimpleDB.From("Employees").SqlJoin(SimpleDB.From("Departments"));
var (t1, t2) = (joinOn.Left, joinOn.Source);
joinOn.On(t1.Field("DepartmentId").Equal(t2.Field("Id")));
var joinTable = joinOn.Root
.Where(t1.Field("Age").GreaterValue(30))
.Where(t2.Field("Manager").EqualValue("CEO"));sql: SELECT * FROM AS t1 INNER JOIN AS t2 ON t1.=t2. WHERE t1.>30 AND t2.='CEO'
Query也可以设置别名
var e = SimpleDB.From("Employees").As("e");
var d = SimpleDB.From("Departments").As("d");
var joinOn = e.SqlJoin(d)
.On(e.Field("DepartmentId").Equal(d.Field("Id")));
var joinTable = joinOn.Root
.Where(e.Field("Age").GreaterValue(30))
.Where(d.Field("Manager").EqualValue("CEO")); sql: SELECT * FROM AS e INNER JOIN AS d ON e.=d. WHERE e.>30 AND d.='CEO'
通过Field查询,既不需要自定义表类型,也不需要给表定义列,就可以畅通无阻的进行sql查询,这也一种不错的选项
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]