小编Ste*_*Eev的帖子

带有GraphQL的EF Core

我正在探索GraphQL开发,我正在探索通过EF Core生成什么样的SQL查询,我发现无论我的GraphQL查询只包含几个字段,EF Core都会为所有字段发送SQL Select.实体.

这是我现在使用的代码:

public class DoctorType : ObjectGraphType<Doctors>
{
    public DoctorType()
    {
            Field(d => d.PrefixTitle);
            Field(d => d.FName);
            Field(d => d.MName);
            Field(d => d.LName);
            Field(d => d.SufixTitle);
            Field(d => d.Image);
            Field(d => d.EGN);
            Field(d => d.Description);
            Field(d => d.UID_Code); 
    }
}

public class Doctors : ApplicationUser
{
    public string Image { get; set; }
    [StringLength(50)]
    public string UID_Code { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用的查询是

{
  doctors{
    fName
    lName
  }
}
Run Code Online (Sandbox Code Playgroud)

生成的SQL选择Doctor实体的所有字段.

有没有办法进一步优化EF Core生成的SQL查询?

我猜这种情况发生的原因是DoctorType继承ObjectGraphType<Doctors>了医生的某些Projection,而不是来自医生的一些Projection,但我想不出一个聪明的解决方法呢?

有什么建议?

编辑: …

c# entity-framework-core graphql asp.net-core graphql-dotnet

9
推荐指数
1
解决办法
1135
查看次数