Код: Выделить всё
var collection = _database.GetCollection(VehiclesCollection);
var aggregation = collection.AsQueryable()
.SelectMany(v => v.VehicleEntries)
.Where(i => Convert.ToInt32(i.PostFlashDTCs) > 0)
.ToList();
< /code>
Однако каждый раз, когда я запускаю это, я получаю следующую ошибку: < /p>
Первое шанс исключение типа 'System.invalidoperationException' произошел в mongodb.driver.dll < /p>
< /blockquote>
Я думал, что проблема связана с преобразовать функцию, поэтому я изменил ее на: < /p>
.Where(i => Convert.ToInt32("1") > 0)
< /code>
И все еще работал нормально. Мой коллега сказал, что это может задушить преобразование строки 0, но когда я хардкод в «0» public class VehicleEntry
{
[BsonElement("PostFlashDTCs")]
[BsonDefaultValue("0")]
public String PostFlashDTCs { get; set; }
}
< /code>
Какова причина, по которой он показывает неверное форматхпений, когда я читаю из самого объекта? < /p>
Редактировать < /strong> < /p>
Я написал быстрый для цикла, чтобы итерация через (после того, как сбросил шаг, где есть шаг) и печатать, если была строка, которая не может быть преобразована в целое число. На консоли ничего не было напечатано: < /p>
foreach (VehicleEntry vehicle in aggregation1)
{
int result;
if (!Int32.TryParse(vehicle.PostFlashDTCs, out result))
{
Console.WriteLine("Bad value!");
}
}
< /code>
edit 2 < /strong> < /p>
Я немного ограничил свой запрос, чтобы вытащить из случая У этого было всего 12 элементов транспортного средства. Позже я поместил отладчик (я временно удалил случай, где проходил случай) и прошел все двенадцать элементов, и все они имели действительные числовые строки для поля Postflashdtcs, поэтому проблема заключается в функции преобразования, а не с неверной строкой. .
edit 3 < /strong> < /p>
Если я не могу использовать Convert.toint32 < /code> в Запрос LINQ, почему он работает нормально, когда я жестко код строки? Компилятор делает что -то странное, чтобы оптимизировать этот код? Я не знаю о такой оптимизации, но я полагаю, это возможно.
Подробнее здесь: https://stackoverflow.com/questions/348 ... om-mongodb
Мобильная версия