//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)); }); }
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()); }); }
public CourseManager(ICourseStore courseStore) { _courseStore = courseStore; }