我正在使用starwars示例测试HotChocolate。
我添加了Enityframework和sql块,并使用名为“ Merchants”的表将所有内容挂钩。
直到现在一切正常,我可以使用Graphiql查询“我的商家”表。
我的问题是当我在startup.cs中添加商户类型时:
services.AddGraphQL(sp => SchemaBuilder.New()
.AddServices(sp)
// Adds the authorize directive and
// enable the authorization middleware.
.AddAuthorizeDirectiveType()
.AddQueryType<QueryType>()
.AddMutationType<MutationType>()
.AddSubscriptionType<SubscriptionType>()
.AddType<HumanType>()
.AddType<DroidType>()
.AddType<EpisodeType>()
.AddType<MerchantType>() ///----> My addition
.Create(),
new QueryExecutionOptions
{
TracingPreference = TracingPreference.Always
});
这是类型
public class MerchantType : ObjectType<Merchant>
{
protected override void Configure(IObjectTypeDescriptor<Merchant> descriptor)
{
descriptor.Name("Merchant");
descriptor.Field("Id")
.Type<NonNullType<StringType>>();
descriptor.Field("MerchantName")
.Type<StringType>();
descriptor.Field("MerchantSlogan")
.Type<StringType>();
}
}
我的应用启动后立即收到此错误:
HotChocolate.SchemaException: 'Multiple schema errors occured:
The field `Merchant.Id` has no resolver. - Type: Merchant
The field `Merchant.MerchantName` has no resolver. - Type: Merchant
The field `Merchant.MerchantSlogan` has no resolver. - Type: Merchant
'
我是否需要为每个字段实现一个解析器?即使我没有更改数据。
答案 0 :(得分:0)
我的错误,我将.Field(“ Id”)替换为Field(t => t.Id)和所有字段。