我目前正在探索 GraphQL。在我的一个中,我ObjectGraphTypes
想注入一个服务实现,它向 EF 查询一些附加数据。
public class RoomType : ObjectGraphType<Room>
{
public RoomType(IUserRepository userRepository)
{
Field(x => x.Id).Description("Identifier for a room");
Field(x => x.Name).Description("Name of the room");
Field<ListGraphType<UserType>, IEnumerable<User>>().Name("Users").Resolve(ctx =>
{
var roomId = ctx.Source.Id;
return userRepository.GetUsersInRoom(roomId);
});
}
}
RoomType 和 IUserRepository 都已在 Autofac 容器中注册。但是,在执行期间,RoomType 无法解析,因为它缺少无参数构造函数,这让我认为它是通过反射而不是通过容器构造的。关于如何进行的任何建议?
谢谢!