5

Mój model EF pobiera dane z bazy danych, która ma widok, który pobiera dane z połączonego serwera. Sortowanie bazy danych na serwerze połączonym zostało zmienione na SQL_Latin1_General_CP1_CI_AS, ale nie na serwery. Zakładam, że stąd pochodzi konflikt kolacjonowania. Za każdym razem, kiedy nie łączyć się z tym poglądem Wciąż otrzymuję ten błąd:Jak rozwiązać konflikt sortowania z Entity Framework?

"Cannot resolve the collation conflict between \"SQL_Latin1_General_CP1_CI_AS\" and\"Modern_Spanish_CI_AS\" in the equal to operation."

Okazało się, że problemy sortowania są łatwo rozwiązany w SQL przy użyciu COLLATE. Nie mogę znaleźć sposobu, aby to zrobić z LINQ. Czy LINQ może być użyty do poradzenia sobie z tym problemem, czy powinienem poradzić sobie z tym problemem w inny sposób?

Odpowiedz

2

Rozumiem, że EF nie obsługuje tej funkcji.

Możesz utworzyć nowy widok, aby rozwiązać konflikt i wysłać zapytanie do nowego widoku za pomocą EF.

+0

Jeśli utworzę nowy widok, nadal będzie on pochodził z serwera o niekompatybilnym zestawieniu. –

+1

Wiem, ale powiedziałeś w pytaniu "problemy z sortowaniem są łatwo rozwiązywane w SQL za pomocą COLLATE" - więc powinieneś być w stanie rozwiązać go w nowym widoku ... – qujck

+0

Nawet jeśli utworzę nowy widok, używając opcji COLLATE w kolumnach używane przy sprzężeniach, wciąż generuje wyjątek dotyczący konfliktu sortowania. –