Ich habe den folgenden Code-Schnipsel:Erste Zeilen aus einer SQL-Tabelle ein Wörterbuch für: LINQ mit
var matchingAuthors = from authors in DB.AuthorTable
where m_authors.Keys.Contains(authors.AuthorId)
select authors;
foreach (AuthorTableEntry author in matchingAuthors)
{
....
}
wo m_authors
ein Wörterbuch der „Autor“ Einträge enthalten ist, und DB.AuthorTable
ist eine SQL-Tabelle. Wenn die Größe m_authors über einen bestimmten Wert geht (irgendwo um die 3000 Einträge Marke), erhalte ich eine Ausnahme:
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.
Gibt es eine Möglichkeit, dies zu umgehen und arbeiten mit einer größeren Größe Wörterbuch bekommen? Gibt es alternativ eine bessere Möglichkeit, alle Zeilen in einer SQL-Tabelle abzurufen, in der ein bestimmter Spaltenwert für diese Zeile mit einem der Wörterbucheinträge übereinstimmt?