Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于子集合的父级热巧克力自定义筛选器_C#_Graphql_Hotchocolate - Fatal编程技术网

C# 基于子集合的父级热巧克力自定义筛选器

C# 基于子集合的父级热巧克力自定义筛选器,c#,graphql,hotchocolate,C#,Graphql,Hotchocolate,我试图用代码优先的方法实现类似于过滤模型的功能。如果至少有一个演员符合某些标准,我需要过滤电影。模型如下所示: public class Movie { public IList<Actor> Actors { get; set; } } public class Actor { } public class MovieTypeDef : ObjectType<Movie> { protected override void Configure(IOb

我试图用代码优先的方法实现类似于过滤模型的功能。如果至少有一个演员符合某些标准,我需要过滤电影。模型如下所示:

public class Movie
{
    public IList<Actor> Actors { get; set; }
}

public class Actor { }

public class MovieTypeDef : ObjectType<Movie>
{
    protected override void Configure(IObjectTypeDescriptor<Movie> descriptor)
    {
        descriptor.Field(x => x.Actors)
            .Type<NonNullType<ListType<NonNullType<ActorTypeDef>>>>();
    }
}

public class ActorTypeDef : ObjectType<Actor> { }

public class Query
{
    public IList<Movie> Movies()
    {
        return new List<Movie>();
    }
}

public class QueryTypeDef : ObjectType<Query>
{
    protected override void Configure(IObjectTypeDescriptor<Query> descriptor)
    {
        descriptor.Field(x => x.Movies())
            .Type<NonNullType<ListType<MovieTypeDef>>>()
            .UseFiltering<MoviesFileringTypeDef>();
    }
}

public class MoviesFileringTypeDef : FilterInputType<Movie>
{
    protected override void Configure(IFilterInputTypeDescriptor<Movie> descriptor)
    {
        descriptor.Filter(x => x.Actors) // compilation error
    }
}
公共类电影
{
公共IList参与者{get;set;}
}
公共类参与者{}
公共类MovieTypeDef:ObjectType
{
受保护的覆盖无效配置(IObjectTypeDescriptor描述符)
{
descriptor.Field(x=>x.Actors)
.Type();
}
}
公共类ActorTypeDef:ObjectType{}
公共类查询
{
公共电影
{
返回新列表();
}
}
公共类QueryTypeDef:ObjectType
{
受保护的覆盖无效配置(IObjectTypeDescriptor描述符)
{
descriptor.Field(x=>x.Movies())
.Type()
.useffiltering();
}
}
公共类MoviesFileringTypeDef:FilterInputType
{
受保护的覆盖无效配置(IFilterInputTypeDescriptor描述符)
{
descriptor.Filter(x=>x.Actors)//编译错误
}
}
似乎无法将自定义筛选器添加到
MoviesFileringTypeDef
,因为它只允许使用
Movie
类的属性,并且不接受集合。
可以用热巧克力实现这样的过滤器吗?

如果实现自定义查询重写器,应该可以实现。这个有更新吗?我遇到了类似的情况。如果有办法解决这个问题,那将很有帮助。