Example #1
0
 protected virtual void SetUpdateParameters(TCmd cmd, bool preserveFields)
 {
     foreach (KeyValuePair <string, object> kvp in SqlSets)
     {
         if (preserveFields && PreservedFields.Contains(kvp.Key))
         {
             continue;
         }
         TParam param = new TParam();
         param.ParameterName = "@" + ParamUniqueKey + "S_" + kvp.Key;
         param.Value         = kvp.Value ?? DBNull.Value;
         cmd.Parameters.Add(param);
     }
 }
Example #2
0
        protected virtual TCmd BuildUpdate()
        {
            if (SqlSets.Count == 0)
            {
                return(null);
            }

            TCmd cmd = new TCmd();

            cmd.CommandText = "UPDATE " + SqlTable
                              + " SET "
                              + SqlSets.Where(kvp => !PreservedFields.Contains(kvp.Key))
                              .Select(kvp => QuoteName(kvp.Key) + " = @" + ParamUniqueKey + "S_" + kvp.Key)
                              .Join(", ")
                              + (SqlConditionals.Count == 0 ? ""
                    : " WHERE " + SqlConditionals.Select(sc => sc.Replace("@", "@" + ParamUniqueKey)).Join(" AND "));
            SetParameters(cmd);
            SetUpdateParameters(cmd, true);

            return(cmd);
        }