概述
使用newlife.xcode对数据库表进行直接操作
插入一条数据到数据库中
DAL dal = XCodeHelper.GetDal(); string code = Guid.NewGuid().ToString(); Dictionary<string, object> data = new Dictionary<string, object>(); data.Add("Code",Guid.NewGuid().ToString()); data.Add("RoleName","测试角色"); data.Add("DataDesc","描述11"); int rows = dal.Insert(data, "Adf_Role"); Console.WriteLine($"插入了几行:{rows}");
说明:使用Dictionary进行字段名与字段值插入到系统
更新一条数据
DAL dal = XCodeHelper.GetDal(); //Where条件是采用匿名类型,类似Dictionary ,可以考虑Dictionary来使用转换为匿名类型 var where = new {id=2}; string code = Guid.NewGuid().ToString(); Dictionary<string, object> data = new Dictionary<string, object>(); data.Add("RoleName", "调整后的测试角色"); data.Add("DataDesc", "更新后描述11"); int rows = dal.Update(data, where, "Adf_Role"); Console.WriteLine($"更新了几行:{rows}");
说明:Where条件是匿名数据类型,类似json,类似Dictionary
删除一条数据
DAL dal = XCodeHelper.GetDal(); var delWhere = new { idx = 3 }; dal.Delete("Adf_Role", delWhere);
使用事务对表进行操作
DAL dal = XCodeHelper.GetDal(); //开始事务 dal.BeginTransaction(); try { // code string code = Guid.NewGuid().ToString(); Dictionary<string, object> data = new Dictionary<string, object>(); data.Add("Code", Guid.NewGuid().ToString()); data.Add("RoleName", "测试角色"); data.Add("DataDesc", "描述11"); int rows = dal.Insert(data, "Adf_Role"); Console.WriteLine($"插入了几行:{rows}"); var where = new { id = 2 }; data = new Dictionary<string, object>(); data.Add("RoleName", "调整后的测试角色"); data.Add("DataDesc", "更新后描述11"); rows = dal.Update(data, where, "Adf_Role"); Console.WriteLine($"更新了几行:{rows}"); var delWhere = new { idx = 3 }; dal.Delete("Adf_Role", delWhere); dal.Commit(); } catch (Exception ex) { LogHelper.WriteLog(ex.Message); dal.Rollback(); }
说明,采用xcode开启后采用标准的事务模式,异常后进行回滚