private QueryActionInstance _GetQueryInstanceByQuery(WebBuilderEFContext db, EventAction action, QueryAction query)
        {
            List <QueryActionInInstance>   ins   = this._GetQueryIns(db, query.ActionID);
            List <QueryActionOutInstance>  outs  = this._GetQueryOuts(db, query.ActionID);
            List <QueryActionPartInstance> parts = this._GetQueryParts(db, query.ActionID);

            QueryActionInstance queryInstance = new QueryActionInstance(action, query, ins, outs, parts);

            return(queryInstance);
        }
        public QueryActionInstance _GetQueryActionByID(WebBuilderEFContext db, int queryActionID)
        {
            var query = (
                from queryAction in db.QueryActions
                join action in db.EventActions on queryAction.ActionID equals action.ActionID
                where queryAction.ActionID == queryActionID
                select new { queryAction = queryAction, action = action }
                )
                        .SingleOrDefault();

            if (query == null)
            {
                throw new Exception(string.Format(
                                        "Query not found(queryActionID = {0})", queryActionID
                                        ));
            }

            QueryActionInstance instance = this._GetQueryInstanceByQuery(db, query.action, query.queryAction);

            return(instance);
        }