示例#1
0
        public int Commit()
        {
            var sb = new StringBuilder();

            foreach (var queryQueue in GroupQueueList)
            {
                // 查看是否延迟加载
                if (queryQueue.LazyAct != null)
                {
                    queryQueue.LazyAct(queryQueue);
                }
                if (queryQueue.Sql != null)
                {
                    sb.AppendLine(queryQueue.Sql + ";");
                }
            }

            if (Param.Count > DbProvider.ParamsMaxLength)
            {
                throw new Exception(string.Format("SQL参数过多,当前数据库类型,最多支持:{0}个,目前生成了{1}个", DbProvider.ParamsMaxLength, Param.Count));
            }
            var result = Context.Database.ExecuteNonQuery(CommandType.Text, sb.ToString(), Param == null ? null : Param.ToArray());

            // 清除队列
            GroupQueueList.ForEach(o => o.Dispose());
            GroupQueueList.Clear();
            Clear();
            return(result);
        }
示例#2
0
 public void Append()
 {
     if (_queryQueue != null)
     {
         GroupQueueList.Add(_queryQueue);
     }
     Clear();
 }