Вот заявление LINQ Я использую:InvalidOperationException Происходило в пункте OrderBy Linq
var sortedList =
(from p in OriginalList
where p.NValue != null
orderby Math.Abs(p.NValue.Value) descending
select p);
OriginalList список объектов сделки с более чем 10 тысяч элементов. NValue - свойство nullable транзакции. Каждый раз, когда OriginalList обновляется, оператор будет выполнен.
Я обнаружил, что время от времени это утверждение может вызывать следующее исключение: System.InvalidOperationException: объект Nullable должен иметь значение.
Я попытался выполнить модульное тестирование и подал его с помощью OriginalList только с одной транзакцией. Эта транзакция имеет null NValue. Это исключение не вызывает.
У кого-нибудь есть идея, что здесь происходит? Большое спасибо.
Мы используем Linq для SQL. Вот трассировки стека:
2011-10-05 16: 14: 06826 [SRV101 DC \ Admin] [59] ERROR Utils.AProxy`1 - AProxy [TProxy] Ошибка при загрузке
System.InvalidOperationException: Nullable object must have a value.
at CServer.TLoader.b__2(Trasaction p) in c:\...\TLoader.cs:line 61
at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
at System.Linq.OrderedEnumerable`1.d__0.MoveNext()
at CServer.TLoader.GetMultipliers(IEnumerable`1 OriginalList) in c:\...\TLoader.cs:line 64
at CServer.TProxy.OnLoad() in c:\...\TProxy.cs:line 29
at Utils.AProxy`1.Load() in c:\...\AProxy.cs:line 252
Скажите, пожалуйста, какой тип LINQ вы используете - какой именно тип 'OriginalList', и используете ли вы LINQ to SQL, LINQ to NHibernate и т. Д.? –
И будет полезно использовать stacktrace. – Steven
Что случилось с ответом digEmAll? Я определенно видел, что это правильно. –