Bitter Orm 在操作数据库增删改的时候,支持模型驱动和直接执行裸SQL 操作,示例代码如下:
一:模型驱动(增删改)
/// <summary> /// 插入,删除,更新示例(模型驱动) /// </summary> public static void DemoForOp() { var d = db.FindQuery<TStudentInfo>().Where(p => p.FName == "DavidChild").Find().FirstOrDefault(); if (d.FID > 0) { d.FAage = 18; int isupdateSuccess= d.Update().Submit();//更新操作://成功 返回受影响的行数,操作异常:返回-1。 Submit() 是必须的,只有Submit() 后,才能持久化数据库层面。 if (isupdateSuccess < 0) { //更新失败了,具体异常原因可以看日志 } else { //更新成功 ,注意:isdeletesuccess为零的时候,执行语句没有异常,只是数据库返回的受影响行数为零。 } } else { d.FName = "DavidChild"; d.FClassId = 1; d.FAddTime = DateTime.Now; d.FAage = 18; int insertidentity= d.Insert().Submit(); //非常重要(Notic):如果插入异常,返回是-1,如果成功,返回主键Id. Submit() 是必须的,只有Submit() 后,才能持久化数据库层面。 if (insertidentity <= 0) { //插入失败了,具体异常原因可以看日志 } else { var ndata = db.FindQuery<TStudentInfo>().QueryById(insertidentity); //重新查询最新插入的数据 } } int isdeletesuccess= d.Delete().Submit();//删除,返回受影响的行数 if (isdeletesuccess < 0) { //删除异常(失败)了,具体异常原因可以看日志 } else { //删除成功 ,注意:isdeletesuccess为零的时候,执行语句没有异常,只是数据库返回的受影响行数为零。 } }
二:裸SQL 操作
/// <summary> /// 直接使用SQL 语句来操作数据库示例 /// </summary> public static void DemoFopOpByDirectSql(int id) { int isdealsuccess= db.Excut("update t_student set fname='DavidChild' where FId=@Id;", new { FId = id }).Submit(); if (isdealsuccess < 0) { //Sql 操作执行(异常)失败了,具体异常原因可以看日志 } else { //执行成功 ,注意:isdealsuccess为零的时候,执行语句没有异常,只是数据库返回的受影响行数为零。 } }