快速上手
1. 按列查询
1.1 常量查询
var table = new UserTable();
var query = new TableSqlQuery(table)
.Where(table.Id.LessValue(100))
.Where(table.Status.EqualValue(true));
// SELECT * FROM [Users] WHERE [Id]<100 AND [Status]=1
1.2 参数查询
var table = new UserTable();
var query = new TableSqlQuery(table)
.Where(table.Id.Less("LastId"))
.Where(table.Status.Equal());
// SELECT * FROM [Users] WHERE [Id]<@LastId AND [Status]=@Status
2. 按列名查询
2.1 常量查询
var query = new TableSqlQuery("Users")
.Where(u => u.Field("Id").LessValue(100))
.Where(u => u.Field("Status").EqualValue(true));
// SELECT * FROM [Users] WHERE [Id]<100 AND [Status]=1
2.2 参数查询
var query = new TableSqlQuery("Users")
.Where(u => u.Field("Id").Less("LastId"))
.Where(u => u.Field("Status").Equal());
// SELECT * FROM [Users] WHERE [Id]<@LastId AND [Status]=@Status
3. 原生sql查询
3.1 常量查询
var query = new TableSqlQuery("Users")
.Where("Id=1", "Status=1");
// SELECT * FROM [Users] WHERE Id=1 AND Status=1
3.2 参数查询
var query = new TableSqlQuery("Users")
.Where("Id=@Id", "Status=@Status");
// SELECT * FROM [Users] WHERE Id=@Id AND Status=@Status
4. 逻辑运算查询
4.1 常量查询
var users = new UserTable();
var query = new TableQuery(users)
.And(users.Id.LessValue(100) & users.Status.EqualValue(true));
// SELECT * FROM [Users] WHERE [Id]<100 AND [Status]=1
4.2 参数查询
var users = new UserTable();
var query = new TableQuery(users)
.And(users.Id.Less("LastId") & users.Status.Equal("Status"));
// SELECT * FROM [Users] WHERE [Id]<@LastId AND [Status]=@Status
5. 分页查询
var table = new UserTable();
var query = new TableSqlQuery(table)
.Where(table.Id.Less("LastId"))
.Where(table.Status.EqualValue(true));
var cursor = new TableCursor(query)
.Desc(table.Id)
.Skip(10)
.Take(10);
// SELECT * FROM [Users] WHERE [Id]<@LastId AND [Status]=1 ORDER BY [Id] DESC OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY
6. 删除
6.1 常量删除
var table = _db.From("Students");
var query = new TableSqlQuery(table)
.Where(table.Field("Score").LessValue(60));
var delete = new TableDelete(table, query.Filter);
// DELETE FROM [Students] WHERE [Score]<60
6.2 参数删除
var table = _db.From("Students");
var query = new TableSqlQuery(table)
.Where(table.Field("Score").Less());
var delete = new TableDelete(table, query.Filter);
// DELETE FROM [Students] WHERE [Score]<@Score
7. 更新
7.1 常量更新
var table = new UserTable();
var query = new TableSqlQuery(table)
.Where(table.Id.EqualValue(1));
var update = new TableUpdate(table, query.Filter)
.Set(table.Status.AssignValue(false));
// UPDATE [Users] SET [Status]=0 WHERE [Id]=1
7.2 参数更新
var table = new UserTable();
var query = new TableSqlQuery(table)
.Where(table.Id.Equal());
var update = new TableUpdate(table, query.Filter)
.Set(table.Status.Assign("Status"));
// UPDATE [Users] SET [Status]=@Status WHERE [Id]=@Id
8. 插入
8.1 常量插入
var table = new StudentTable();
var insert = new SingleInsert(table)
.Insert(table.Name.InsertValue("张三"))
.Insert(table.Score.InsertValue(90));
// INSERT INTO [Students]([Name],[Score])VALUES('张三',90)
8.2 参数插入
var table = new StudentTable();
var insert = new SingleInsert(table)
.Insert(table.Name.Insert("StudentName"))
.Insert(table.Score.Insert());
// INSERT INTO [Students]([Name],[Score])VALUES(@StudentName,@Score)