/// <summary> /// 执行上下文 /// </summary> /// <param name="ctx"></param> /// <returns></returns> public override bool Process(OperatorResolveContext <DynamicBulkInsertRequest> ctx) { var defaultFields = new List <AppDefaultFieldConfig>(); if (ctx.InitContext.App != null && ctx.InitContext.App.ExtendConfig != null && !ctx.InitContext.App.ExtendConfig.DefaultFields.IsNullOrEmpty()) { defaultFields = ctx.InitContext.App.ExtendConfig.DefaultFields .Where(s => s.DefaultType.Contains(AppDefaultFieldType.Insert.ToString("G"))) .ToList(); } // 获取解析对象 var parserCommand = Singleton <IEngine> .Instance.Resolve <ILinqParserCommand>(); var commandList = new List <string>(); foreach (var operateFields in ctx.Request.OperateFields) { var buildReulst = ResolveExtend.BuildInsertCommand(operateFields, ctx.InitContext, defaultFields); if (buildReulst.Response != null) { ctx.Response = buildReulst.Response; return(false); } commandList.AddRange(buildReulst.CommandList); ctx.InsertPrimaryKeys.Add(buildReulst.PrimaryKeys); } ctx.ExcuteLinqText = parserCommand.JoinInsert(commandList); return(true); }
/// <summary> /// 执行上下文 /// </summary> /// <param name="ctx"></param> /// <returns></returns> public override bool Process(QueryResolveContext ctx) { // 配置信息读取服务 var dataProvider = Singleton <IEngine> .Instance.Resolve <IResolveDataProvider>(); // 处理参数上下文 ctx.InitContext = dataProvider.InitResolveContext(ctx.Request); ctx.MainFormKey = ResolveExtend.GetMainFormKey(ctx.Request.QueryFieldKeys, ctx.InitContext.FormRelations ?? new List <App_Config_FormRelation>()); return(true); }