/// <summary> /// 更新数据表 /// </summary> /// <param name="executeModel"></param> /// <returns></returns> public int Update(ExecuteModel executeModel) { using (var db = new DbContext()) { //生成操作时间 //executeModel.Entity.oper_time = db.Database().GetDateTime; //设置不立即设置为根据主键更新,后续根据和条件更新 IUpdateBuilder updateBuilder = db.Update(executeModel.Entity, false); if (executeModel.Columns != null && executeModel.Columns.Length > 0) {//如果更新有指定列,则指定列 updateBuilder.Column(executeModel.Columns); } //获取条件sql var whereSql = GetConitionsql(executeModel.Conditions); updateBuilder.Where(whereSql); executeModel.Conditions?.ForEach(p => {//先设置参数,组装SQL updateBuilder.Parameters(p.Key, p.Value); }); //执行更新 return(updateBuilder.Execute()); } }
public bool Update(T t) { using (var context = _Context()) { IUpdateBuilder <T> temp = context.Update <T>(tableName, t); foreach (var item in typeof(T).GetProperties()) { if (item.CustomAttributes.FirstOrDefault(c => c.AttributeType.Name == "PrimaryKey") != null) { temp.Where(item.Name, item.GetValue(t)); } else { temp = temp.Column(item.Name, item.GetValue(t)); } } return(temp.Execute() > 0); } }