MongoDb UpdateOneAsync ExpressionFunction, возвращающая входную строку, имеет неправильный формат

У меня есть метод, это такая подпись

Task<bool> UpdateOneAsync<TDocument, TField>(TDocument documentToModify, Expression<Func<TDocument, TField>> field, TField value)
    where TDocument : IDocument;

и метод такой

public virtual async Task<bool> UpdateOneAsync<TDocument, TField>(TDocument documentToModify, Expression<Func<TDocument, TField>> field, TField value)
    where TDocument : IDocument
{
    var filter = Builders<TDocument>.Filter.Eq("Id", documentToModify.Id);
    var updateRes = await HandlePartitioned(documentToModify).UpdateOneAsync(filter, Builders<TDocument>.Update.Set(field, value));
    return updateRes.ModifiedCount == 1;
}

Подпись UpdateOneAsync, как в монго:

Task<UpdateResult> UpdateOneAsync(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default);

когда я использую эту функцию из своего слоя, как показано ниже, возникает исключение

await _mongoDbRepository.UpdateOneAsync<XPartitionedDocument,float>(
                        documentToModify: isExist,
                        field: x => (float)x.TotalPrice,
                        value: td.TotalPrice
                        );

"input string was not in a correct format"

Поле TotalPrice является числовым полем в mongodb и представляет собой переменную (с плавающей запятой или десятичную) в классе. Что означает эта ошибка и как ее использовать?

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
0
135
1

Ответы 1

хорошо, я сделал это Я обнаружил, что в библиотеке функций mongo есть некоторые новые функции, и одна из них отсутствует в MongoDb.Driver, текущая версия С# 2.7.3, вместо этого вместе с этой dll я добавил MongoDb.Driver.Core.Signed 2.7.2 и MongoDb.Driver .Подписано 2.7.2 проблема исчезла

Другие вопросы по теме