728x90 반응형 전체 글303 .NET 6] GraphQL Voyager 1. 패키지 관리자에서 아래 GraphQL.Server.Ui.Voyager를 설치한다. 2. request pipeline에 graphql voyager를 추가한다. Program.cs app.UseGraphQLVoyager(new VoyagerOptions() { GraphQLEndPoint = "/graphql" }, "/graphql-voyager"); app.Run(); 3. 프로젝트 실행후 /graphql-voyager로 접속해본다. schema를 확인할 수 있다. 4. Description 추가 [GraphQLDescription("작가")] public class Author { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] pub.. 2022. 4. 19. TFVC] 소스 제어 탐색기 - 작업영역(Workspaces) 작업영역은 변경사항들을 분리시키는데 사용된다. 작업영역은 TFS Server와 로컬폴더경로의 매핑이다. 예로 들면 아래와 같이 매핑할 수 있다. 로컬폴더경로 작업영역 이름 소스제어 폴더경로 C:\ProjectA WS_ProjectA $\ProjectA\Main C:\ProjectB WS_ProjectB $\ProjectB\Main C:\ProjectC $\ProjectC\Main 소스제어 폴더는 작업영역과 무제한 매핑될 수 있다. 로컬폴더는 하나의 작업영역에서만 사용될 수 있다. 보류중인 변경내용(Pending Changes)은 작업영역 별로 보여지기 때문에, 체크인 시 여러 프로젝트의 변경사항이 한번에 보여진다. 관리가 용이하기 위해서는, Team Project 별 하나의 작업영역을 생성하는 것이 좋다.. 2022. 2. 14. .NET 6] Hot Chocolate GraphQL : mutation(5) Book.cs public class Author { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int AuthorId { get; set; } [Required] public string Name { get; set; } public ICollection Books { get; set; } } public class Book { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int BookId { get; set; } [Required] public int AuthorId { get; set; } [Required] public string Title {.. 2022. 2. 9. GraphQL vs REST 1. Over-fetching REST API를 호출 시, 내가 필요한 property를 지정할 수 없기 때문에, 필요한 것보다 더 많은 데이터를 return받는다. GraphQL은 필요한 object의 필요한 field를 query로 지정할 수 있다. Over-fetching을 피할 수 있다. 2. Under-fetching REST는 child object의 데이터를 얻기 위해, 추가로 api를 request 해야 한다. GraphQL은 child object의 field를 추가로 지정할 수 있기 때문에 한번의 호출로 원하는 child object의 데이터까지 가져올 수 있다. 3. Operation Operation GraphQL REST Read Query GET Write Mutation PUT.. 2022. 2. 9. .NET 6] Hot Chocolate GraphQL : multiple requests (4) GraphQL은 single query에 multiple operation을 지원한다. concurrency exception이 발생한다. DbContext는 thread safe하지 않다. 스레드 간에 context를 공유하지 않는다. 단일 HTTP Request 내의 여러 작업을 해야 하는 경우, AddDbContextFactory를 사용한다. context type을 직접 등록하는 대신, factory를 등록하면 새 인스턴스를 쉽게 만들 수 있다. Program.cs //builder.Services.AddDbContext(option => option.UseSqlServer( // builder.Configuration.GetConnectionString("DefaultConnection") //.. 2022. 2. 8. .NET 6] Hot Chocolate GraphQL : EF Core (3) DbContext를 사용하도록 Query class를 수정하자. public class Query { //public Book GetBook() => // new Book // { // Title = "C# in depth.", // Author = new Author // { // Name = "Jon Skeet" // } // }; public IQueryable GetBooks([Service] ApplicationDbContext context) => context.Books; } ApplicationDbContext.cs public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions optio.. 2022. 2. 8. 이전 1 ··· 33 34 35 36 37 38 39 ··· 51 다음 728x90 반응형