我使用 GraphQL 作为 CQRS 应用程序的一部分。我已将命令和查询域模型分成两个不同的项目(查询和命令)。每个项目都有一些模型,例如学生模型。Domain.Query.Students.Student我在和中使用两个不同的模型Domain.Command.Students.Student,但两者具有相同的实体名称(学生和地址)我简化了我的实体,如下所示:
public class Student:Entity
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Address Address { get; set; }
public DateTimeOffset CreatedOn { get; set; }
public DateTimeOffset ModifiedOn { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Student 用于查询和命令项目。我已经Startup.cs像这样配置了 GraphQL:
services
.AddGraphQLServer()
.AddQueryType<StudentQuery>()
.AddMutationType<AddStudentMutation>();
Run Code Online (Sandbox Code Playgroud)
在StudentQuery.cs
namespace GraphQL.Query.Students
{
public class StudentQuery
{
public List<Student> AllStudents([ScopedService] StudentRepository studentRepository)
{
var query = studentRepository.GetEmployees();
return query;
} …Run Code Online (Sandbox Code Playgroud)