DBHelper、DataHelper、ADO数据库操作类
废话不多说,直接上用法:
查询:
var dt = db.GetDataTable("select * from t1,t2 where t1.id=t2.t1_id and t2.id=@id", new { id });
分页:(排序的字段必须要在 select 的字段里面)
var res = db.GetPagingTable($@"select * from t1 where id=@id", pageIndex, pageSize, "id desc", new { id }); var dt = res.Item1; var totalCount = res.Item2;取第一行、第一列的值:(适用于任何返回单行单列的语句,不只限于查询,新增、删除、修改都是可以的,活用 OUTPUT INSERT.ID DELETED.ID )
var count = db.ExecuteScalar<int>("select count(1) from t1 where id=@id", new { id });
新增:
var id = db.Insert("tableName", new { id = 1, name = "张三", age = 18 });
带条件新增:(当数据库存在 name="张三" 时,就不插入)
var id = db.Insert("tableName", new { id = 1, name = "李四", age = 18 }, where: new { name = "张三" });
更新:
var count = db.Update("tableName", new { name = "李四", age = 15 }, new { id = 1 });
事务:(事务最好使用静态方法来执行)
DBHelper.UseDBHelper((_db) => { _db.UseTrans(() => { _db.Insert(); _db.Update(); _db.BulkToDB(); }); });First:
dynamic model = db.First("select * from t1,t2 where t1.id=t2.t1_id and t2.id=@id", new { id });
参数说明:
object 类型的 sqlParams、where 这里支持 :
匿名函数:new { id =1, name="" };
动态对象 ExpandoObject:var exObj = new ExpandoObject(); exObj.id=1; exObj.name="张三";
JObject:
自定义Model: