コード例 #1
0
 //public InstructorType()
 //{
 //    Field<StringGraphType>("name", resolve: x => "CourseType");
 //}
 public InstructorType(IDataLoaderContextAccessor accessor, ICourseStore courses)
 {
     Field <IdGraphType>("instructorId", resolve: x => x.Source.InstructorID);
     Field(x => x.FullName);
     Field(x => x.HireDate);
     Field <ListGraphType <CourseType>, IEnumerable <Course> >()
     .Name("courses")
     .ResolveAsync(context =>
     {
         var loader = accessor.Context.GetOrAddCollectionBatchLoader <int, Course>(
             "getCourseByInstructorId",
             courses.GetCoursesByInstructorIdAsync);
         return(loader.LoadAsync(context.Source.InstructorID));
     });
 }
コード例 #2
0
        public GraphQlQuery(IDataLoaderContextAccessor accessor, ICourseStore courses, IInstructorStore instructors)
        {
            FieldAsync <ListGraphType <CourseType> >("courses",
                                                     resolve: async context =>
            {
                var loader = accessor.Context.GetOrAddLoader("GetAllCourses", () => courses.GetAllCoursesAsync());

                return(await loader.LoadAsync());
            });

            FieldAsync <ListGraphType <InstructorType> >("instructors",
                                                         resolve: async context =>
            {
                var loader = accessor.Context.GetOrAddLoader("GetAllInstructors", () => instructors.GetAllInstructorsAsync());

                return(await loader.LoadAsync());
            });
        }
コード例 #3
0
 public CourseManager(ICourseStore courseStore)
 {
     _courseStore = courseStore;
 }