«Производный» преобразователь полей для GraphQL с использованием Hot Chocolate и EFCoreC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 «Производный» преобразователь полей для GraphQL с использованием Hot Chocolate и EFCore

Сообщение Anonymous »

Я работаю над конечной точкой GraphQL, используя ASP.NET 5, Hot Chocolate и EFCore 5. У меня есть объекты инфраструктуры сущностей, которые я раскрываю в GraphQL с помощью Hot Chocolate. Мне нужно «получить» одно из полей. Скажем, например, у меня есть класс под названием «Сотрудник» и у него есть свойства FirstName и LastName. Я хочу, чтобы конечная точка GraphQL предоставила поле «Полное имя» для сотрудника, которое будет внутренне объединять имя и фамилию. Обратите внимание, что значения FirstName и LastName существуют как столбцы таблицы базы данных «Сотрудники», но поле «FullName» будет производным. Как мне это сделать? Я попробовал это сделать следующим образом, но это не сработало

Код: Выделить всё

public class EmployeeType : ObjectType
{
protected override void Configure(IObjectTypeDescriptor descriptor)
{
descriptor.Field(@"FullName")
.Type()
.ResolveWith( p => p.GetFullName(default!, default!) )
.UseDbContext()
.Description(@"Full name of the employee");
}

private class Resolvers
{
public string GetFullName(Employee e, [ScopedService] AppDbContext context)
{
return e.FirstName + " " + e.LastName;
}
}
}
Поле FullName отображается в запросе GraphQL, но оно всегда пустое. Я думаю, что экземпляр e сотрудника, передаваемый в GetFullName(), содержит пустые строковые значения для имени и фамилии.
Как это исправить? Это правильный подход к проблеме?

Подробнее здесь: https://stackoverflow.com/questions/685 ... and-efcore
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»