コード例 #1
0
ファイル: BookType.cs プロジェクト: nmilcoff/BooksQL
        public BookType(BookReviewsRepository bookReviewsRepository)
        {
            Field(t => t.ISBN);
            Field(t => t.Title);
            Field(t => t.Authors);
            Field(t => t.PublishDate);
            Field <GenreEnumType>("genre", "Genre of book");

            Field <ListGraphType <BookReviewType> >(
                "reviews",
                resolve: context => bookReviewsRepository.GetBookReviews(context.Source.ISBN)
                );
        }
コード例 #2
0
        public BooksMutation(BookReviewsRepository bookReviewsRepository)
        {
            FieldAsync <BookReviewType>(
                "createReview",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <BookReviewInputType> > {
                Name = "review"
            }),
                resolve: async context =>
            {
                var review = context.GetArgument <BookReview>("review");

                // try or catch exception and add it to GraphQL errors
                return(await context.TryAsyncResolve(
                           async c => await bookReviewsRepository.CreateBookReview(review)));
            }
                );
        }
コード例 #3
0
        public BookType(
            BookReviewsRepository bookReviewsRepository)
        //IDataLoaderContextAccessor dataLoaderContextAccessor)
        {
            Field(t => t.ISBN).Description("Unique identifier for a book");
            Field(t => t.Title);
            Field(t => t.Authors);
            Field(t => t.PublishDate);
            Field <GenreEnumType>("genre", "Genre of book");

            Field <ListGraphType <BookReviewType> >(
                "reviews",
                resolve: context => bookReviewsRepository.GetBookReviews(context.Source.ISBN));

            //resolve: context =>
            //{
            //    var loader = dataLoaderContextAccessor.Context.GetOrAddCollectionBatchLoader<string, BookReview>(
            //        "GetBookReviewByBookISBNs", (isbns) => bookReviewsRepository.GetBookReviewsByMultipleISBNs(isbns));

            //    return loader.LoadAsync(context.Source.ISBN);
            //}
        }