У меня есть следующий фрагмент кода:Получения строк из таблицы SQL, соответствующих словарь с помощью LINQ
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, где конкретное значение столбца для этой строки соответствует одной из записей словаря?