示例#1
0
        protected virtual InsertSqlClauseBuilder PrepareInsertSqlBuilder(T obj, ORMappingItemCollection mapping)
        {
            InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(obj, mapping);

            string startTimeFieldName = GetPropertyFieldName("VersionStartTime", mapping);
            string endTimeFieldName   = GetPropertyFieldName("VersionEndTime", mapping);

            builder.Remove(b => ((SqlClauseBuilderItemIUW)b).DataField == startTimeFieldName);
            builder.Remove(b => ((SqlClauseBuilderItemIUW)b).DataField == endTimeFieldName);

            builder.AppendItem(startTimeFieldName, "@currentTime", "=", true);
            builder.AppendItem(endTimeFieldName, ConnectionDefine.MaxVersionEndTime);

            return(builder);
        }
        /// <summary>
        /// 生成带VersionStartTime和VersionEndTime的InsertBuilder
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="mapping"></param>
        /// <param name="ignoreProperties">需要忽略的属性</param>
        /// <returns></returns>
        public virtual InsertSqlClauseBuilder PrepareInsertSqlBuilder(T obj, ORMappingItemCollection mapping, string[] ignoreProperties)
        {
            InsertSqlClauseBuilder builder = ORMapping.GetInsertSqlClauseBuilder(obj, mapping, ignoreProperties);

            string startTimeFieldName = GetPropertyFieldName("VersionStartTime", mapping);
            string endTimeFieldName   = GetPropertyFieldName("VersionEndTime", mapping);

            builder.Remove(b => ((SqlClauseBuilderItemIUW)b).DataField == startTimeFieldName);
            builder.Remove(b => ((SqlClauseBuilderItemIUW)b).DataField == endTimeFieldName);

            builder.AppendItem(startTimeFieldName, DBTimePointActionContext.CurrentTimeTSqlVarName, "=", true);
            builder.AppendItem(endTimeFieldName, DBTimePointActionContext.MaxVersionEndTime);

            return(builder);
        }
示例#3
0
        protected virtual string PrepareInsertSql(T obj, ORMappingItemCollection mapping)
        {
            InsertSqlClauseBuilder builder = PrepareInsertSqlBuilder(obj, mapping);

            return(string.Format("INSERT INTO {0}{1}", GetTableName(obj, mapping), builder.ToSqlString(TSqlBuilder.Instance)));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="mapping"></param>
        /// <param name="ignoreProperties">需要忽略的参数</param>
        /// <returns></returns>
        public virtual string PrepareInsertSql(T obj, ORMappingItemCollection mapping, string[] ignoreProperties)
        {
            InsertSqlClauseBuilder builder = this.PrepareInsertSqlBuilder(obj, mapping, ignoreProperties);

            return(string.Format("INSERT INTO {0}{1}", this.GetTableName(obj, mapping), builder.ToSqlString(TSqlBuilder.Instance)));
        }