public override void Select(string name, string itemName, IWrapper <SqlServerQueryCommand> childQuery, IDbFragment value)
        {
            childQuery
            .ForJsonPath()
            .Select(value)
            .As(itemName);

            //childQuery.Select(DbFunctions.Coalesce(SqlServerDbFunctions.JsonAgg(expression), SqlServerDbFunctions.Cast("[]", new JsonColumnType())));

            command.Select(db.Functions.JsonQuery(db.Functions.Coalesce(childQuery.Value, "[]".DbValue()))).As(name);
        }
        public override JsonQueryBuilderAdapter Select(IWrapper <SqlServerQueryCommand> childQuery, string name, bool isSingular)
        {
            if (isSingular)
            {
                childQuery.ForJsonPathWithoutArrayWrapper();
            }
            else
            {
                childQuery.ForJsonPath();
            }

            if (isSingular)
            {
                command.Select(db.Functions.JsonQuery(childQuery.Value)).As(name);
            }
            else
            {
                command.Select(db.Functions.JsonQuery(db.Functions.Coalesce(childQuery.Value, (DbString)"[]"))).As(name);
            }

            return(new SqlServerJsonQueryBuilderAdapter(db, childQuery));
        }