#c# #graphql #hotchocolate
Вопрос:
Я пытался использовать атрибут UseFilter hotchocolate, как показано ниже:
[HotChocolate.Data.UseFiltering]
public IMongoQueryable<DB> GetTestValues([Service] IMongoDatabase mongoDatabase)
{
return mongoDatabase.GetCollection<DB>("test_coll").AsQueryable();
}
Ниже приведена сущность mongodb
public class DB
{
[BsonId]
public int Id { get; set; }
[BsonElement("firstName")]
public string FirstName { get; set; }
[BsonElement("lastName")]
public string LastName { get; set; }
}
Фильтр из FE будет применен самим HC ниже запроса FE также предоставляется.Мы можем вернуть данные клиенту до сих пор так хорошо. Но чего я хочу добиться, так это того, что мне нужна отдельная модель для клиента и mongodb. Ниже приведен dto(для отправки клиенту)
public class Dto
{
public int PersonId { get; set; }
public string Name { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
}
Если это возможно с помощью HC, я мог бы добавить некоторый слой отображения(автоматический) для его достижения?
Приведенный выше пример немного надуман, но, надеюсь, этого достаточно, чтобы понять проблему.
Запрос FE выглядит так
query GetTestValues{
testValues(where:{firstName: {contains: "Tar"}}
){
personId
name
}
}