Попробуйте
var it = GetTheNestedCase();
return it.SelectMany(x => x);
, SelectMany является преобразованием LINQ, которое по существу говорит "Для Каждого Объекта в возврате набора элементы набора". Это превратит один элемент во многих (следовательно SelectMany). Это является большим для разрушения наборов наборов в плоский список.
Согласно http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters.aspx OleDbCommand не поддерживает именованные параметр
Поставщик OLE DB .NET не поддерживает именованные параметры для передачи параметров в инструкцию SQL или хранимую процедуру, вызываемую OleDbCommand, когда для CommandType задано значение Text. В этом случае необходимо использовать вопросительный знак (?). Например:
SELECT * FROM Customers WHERE CustomerID = ?
Следовательно, порядок, в котором объекты OleDbParameter добавляются в OleDbParameterCollection, должен напрямую соответствовать положению заполнителя вопросительного знака для параметра в тексте команды.
Поэтому порядок параметров важен.
Если я правильно помню, если OleDbCommand
в ADO.NET функционирует аналогично более старым библиотекам / библиотекам ADO (используемым в VB6, VBA и т. Д.), То параметр Коллекция не определяет параметры по имени, а только по положению в коллекции. Похоже, именно такое поведение вы испытываете.
Не положительно, но похоже, что ваши параметры не добавляются в той же последовательности или же именованные значения, что и их «@» аналоги запроса ...
@id,
@dtDebut
then
@dateTraitementFin