Exemplo n.º 1
0
        /// <summary>
        /// 根据已修改的实体属性,生成UPDATE操作语句(WHERE条件由主键生成[DbColumn(PrimaryKey=true)]),并执行数据库插入操作,
        /// 注意:此方法只能在实体的代理对象上调用。
        /// </summary>
        /// <returns>数据库操作过程中影响的行数</returns>
        public int Update()
        {
            IEntityProxy proxy = this as IEntityProxy;

            if (proxy == null)
            {
                throw new InvalidOperationException("请在调用BeginEdit()的返回值对象上调用Update方法。");
            }

            // 获取数据实体对象的主键值,如果数据实体没有指定主键,将会抛出一个异常
            Tuple <string, object> rowKey = proxy.GetRowKey();

            CPQuery update = GetUpdateQuery(rowKey);

            if (update == null)
            {
                return(-1);
            }

            CPQuery query = update
                            + " WHERE " + rowKey.Item1 + " = " + new QueryParameter(rowKey.Item2);

            proxy.ClearChangeFlags();              // 清除修改标记,防止多次调用
            return(query.ExecuteNonQuery());
        }
Exemplo n.º 2
0
        /// <summary>
        /// 根据已修改的实体属性,生成UPDATE操作语句(WHERE条件由主键生成[DbColumn(PrimaryKey=true)]),并执行数据库插入操作,
        /// 注意:此方法只能在实体的代理对象上调用。
        /// </summary>
        /// <returns>数据库操作过程中影响的行数</returns>
        public int Update()
        {
            CPQuery query = GetUpdateQueryCommand();

            if (query == null)
            {
                return(-1);
            }

            return(query.ExecuteNonQuery());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据已修改的实体属性,生成INSERT语句,并执行数据库插入操作,
        /// 注意:此方法只能在实体的代理对象上调用。
        /// </summary>
        /// <returns>数据库操作过程中影响的行数</returns>
        public int Insert()
        {
            CPQuery query = GetInsertQueryCommand();

            if (query == null)
            {
                return(-1);
            }

            return(query.ExecuteNonQuery());
        }
Exemplo n.º 4
0
        /// <summary>
        /// 根据指定的实体属性,生成INSERT语句,并执行数据库插入操作
        /// </summary>
        /// <returns></returns>
        public int Insert()
        {
            if (_setProxy == null)
            {
                throw new InvalidOperationException("请先调用Set方法。");
            }

            CPQuery query = _setProxy.GetInsertQuery();

            return(query.ExecuteNonQuery());
        }
Exemplo n.º 5
0
        /// <summary>
        /// 根据指定的实体属性,生成DELETE查询条件,并执行数据库插入操作
        /// </summary>
        /// <returns></returns>
        public int Delete()
        {
            if (_whereProxy == null)
            {
                throw new InvalidOperationException("请先调用Where方法。");
            }

            CPQuery where = _whereProxy.GetWhereQuery();

            CPQuery delete = this.Context.CreateCPQuery()
                             + "DELETE FROM  " + _whereProxy.GetTableName()
                             + where;

            return(delete.ExecuteNonQuery());
        }
Exemplo n.º 6
0
        /// <summary>
        /// 根据指定的实体属性,生成UPDATE的语句,并执行数据库插入操作
        /// </summary>
        /// <returns></returns>
        public int Update()
        {
            if (_setProxy == null)
            {
                throw new InvalidOperationException("请先调用Set方法。");
            }
            if (_whereProxy == null)
            {
                throw new InvalidOperationException("请先调用Where方法。");
            }

            CPQuery update = _setProxy.GetUpdateQuery(null);

            CPQuery where = _whereProxy.GetWhereQuery();

            CPQuery query = update + where;

            return(query.ExecuteNonQuery());
        }
Exemplo n.º 7
0
        /// <summary>
        /// 根据已修改的实体属性,生成INSERT语句,并执行数据库插入操作,
        /// 注意:此方法只能在实体的代理对象上调用。
        /// </summary>
        /// <returns>数据库操作过程中影响的行数</returns>
        public int Insert()
        {
            IEntityProxy proxy = this as IEntityProxy;

            if (proxy == null)
            {
                throw new InvalidOperationException("请在调用BeginEdit()的返回值对象上调用Insert方法。");
            }


            CPQuery insert = GetInsertQuery();

            if (insert == null)
            {
                return(-1);
            }

            proxy.ClearChangeFlags();              // 清除修改标记,防止多次调用
            return(insert.ExecuteNonQuery());
        }
Exemplo n.º 8
0
        /// <summary>
        /// 根据已修改的实体属性,生成DELETE查询条件,并执行数据库插入操作,
        /// 注意:此方法只能在实体的代理对象上调用。
        /// </summary>
        /// <returns>数据库操作过程中影响的行数</returns>
        public int Delete()
        {
            IEntityProxy proxy = this as IEntityProxy;

            if (proxy == null)
            {
                throw new InvalidOperationException("请在调用BeginEdit()的返回值对象上调用Delete方法。");
            }


            CPQuery where = GetWhereQuery();
            if (where == null)
            {
                return(-1);                             // 不允许没有WHERE条件的删除,如果确实需要,请手工写SQL
            }
            CPQuery query = this.DbContext.CreateCPQuery()
                            + "DELETE FROM " + GetTableName() + where;

            proxy.ClearChangeFlags();              // 清除修改标记,防止多次调用
            return(query.ExecuteNonQuery());
        }
Exemplo n.º 9
0
        /// <summary>
        /// 根据指定的实体属性,生成UPDATE的语句,并执行数据库插入操作
        /// </summary>
        /// <returns></returns>
        public int Update()
        {
            CPQuery query = GeUpdateQuery();

            return(query.ExecuteNonQuery());
        }
Exemplo n.º 10
0
        /// <summary>
        /// 根据指定的实体属性,生成DELETE查询条件,并执行数据库插入操作
        /// </summary>
        /// <returns></returns>
        public int Delete()
        {
            CPQuery query = GetDeleteQuery();

            return(query.ExecuteNonQuery());
        }
Exemplo n.º 11
0
        /// <summary>
        /// 根据指定的实体属性,生成INSERT语句,并执行数据库插入操作
        /// </summary>
        /// <returns></returns>
        public int Insert()
        {
            CPQuery query = GetInsertQuery();

            return(query.ExecuteNonQuery());
        }