星空雅梦

DBHelper、DataHelper、ADO数据库操作类

废话不多说,直接上用法:

查询:

var dt = db.GetDataTable("select * from t1,t2 where t1.id=t2.t1_id and t2.id=@id", new { id });

        分页:(排序的字段必须要在 select 的字段里面)

  1.  
    var res = db.GetPagingTable($@"select * from t1 where id=@id", pageIndex, pageSize, "id desc", new { id });
  2.  
    var dt = res.Item1;
  3.  
    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 });

事务:(事务最好使用静态方法来执行)

  1.  
    DBHelper.UseDBHelper((_db) =>
  2.  
    {
  3.  
    _db.UseTrans(() =>
  4.  
    {
  5.  
    _db.Insert();
  6.  
    _db.Update();
  7.  
    _db.BulkToDB();
  8.  
    });
  9.  
    });

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:

原文地址:https://www.cnblogs.com/LiZhongZhongY/p/10930450.html