Mam ten sam błąd, gdy używam pozornie niewinnego zapytania LINQ do SQL. Chciałem tylko, aby pobrać wszystkie rekordy, których identyfikatory były wśród tych przechowywanych w tablicy:
dataContext.MyTable.Where(item => ids.Contains(item.Id)).ToArray();
okazało się, że tablica identyfikatorów miał ponad 2100 elementów, a wydaje się, że DataContext dodaje jeden parametr dla każdego element w tablicy w wynikowym zapytaniu SQL.
Na koniec był to błąd w moim kodzie, ponieważ tablica ids nie miała tak wielu pozycji. Ale w każdym razie warto pamiętać, że potrzebna jest dodatkowa weryfikacja, gdy używamy takich konstruktów w LINQ do SQL.
Będziesz musiał opublikować jakiś kontekst. Twoje pytanie nie ma większego znaczenia lub nie ma znaczenia (ani nie ma twojego ogromnego tematu). –
Tytuł jest za krótki – Dan
wow! Nigdy nie wiedziałem, że możesz przejść 2100 parametrów do procedury !!!! –