Пример #1
0
        public int DeleteById(TableMapping table, object id)
        {
            Criteria criteria = new Criteria(table);

            criteria.AddEqualTo(table.ColumnPK.Name, id);
            return(this.Delete(criteria));
        }
        public virtual int Update(TableMapping table, object obj, HashSet <string> updateprops)
        {
            Criteria criteria = new Criteria(table);

            criteria.AddEqualTo(table.ColumnPK.Name, table.ColumnPK.GetValue(obj));
            if ((updateprops != null) && (updateprops.Count > 0))
            {
                foreach (string propname in updateprops)
                {
                    ColumnMapping column = table.GetColumnMappingByProperty(propname);
                    if (column == null)
                    {
                        continue;
                    }

                    if ((column.IsPK == false) && (column.IsAutoIncrement == false))
                    {
                        criteria.AddUpdateColumn(column.Name, column.GetValue(obj));
                    }
                    else
                    {
                        throw new ObjectMappingException(propname);
                    }
                }
            }
            else
            {
                foreach (ColumnMapping column in table.Columns)
                {
                    if ((column.IsPK == false) && (column.IsAutoIncrement == false))
                    {
                        criteria.AddUpdateColumn(column.Name, column.GetValue(obj));
                    }
                }
            };
            return(this.Update(criteria));
        }