public ProductType(ICategory category, IReview review, IOrder order) { Name = "Product"; Description = "Product fields"; Field(x => x.ProductId).Description("Product Id"); Field(x => x.Name).Description("Product name"); Field(x => x.Description).Description("Product description"); Field(x => x.Price).Description("Product price"); Field(x => x.ImagePath).Description("Product image path"); Field <ProductType>("Category", Description = "Category of product", resolve: context => { return(category.GetById(context.Source.CategoryId)); }); Field <ListGraphType <ReviewType> >("Reviews", Description = "Reviews of product", resolve: context => { return(review.GetReviewsByProductId(context.Source.ProductId)); }); Field <ListGraphType <OrderType> >("Orders", Description = "Orders of product", resolve: context => { return(order.GetOrdersByProductId(context.Source.ProductId)); }); }