У меня есть следующий фрагмент кода:
var matchingAuthors = from authors in DB.AuthorTable
where m_authors.Keys.Contains(authors.AuthorId)
select authors;
foreach (AuthorTableEntry author in matchingAuthors)
{
....
}
, где m_authors
- это словарь, содержащий записи "Автор", а DB.AuthorTable
- это таблица SQL. Когда размер m_authors выходит за пределы определенного значения (где-то около отметки 3000 записей), я получаю исключение:
System.Data.SqlClient.SqlException: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect.
Too many parameters were provided in this RPC request. The maximum is 2100.
Есть ли способ обойти это и работать со словарем большего размера? В качестве альтернативы, есть ли лучший способ получить все строки в таблице SQL, где конкретное значение столбца для этой строки соответствует одной из записей словаря?