5

Il mio modello EF ottiene i dati da un database che ha una vista che ottiene i dati da un server collegato. Le regole di confronto del database nel server collegato sono state modificate in SQL_Latin1_General_CP1_CI_AS ma non nei server. Presumo che sia da lì che nasce il conflitto di collation. Ogni volta che faccio un join con quella vista Continuo a ricevere questo errore:Come risolvere i conflitti di confronto con Entity Framework?

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

ho scoperto che i problemi di confronto sono facilmente risolti in SQL utilizzando COLLATE. Non riesco a trovare un modo per farlo con LINQ. LINQ può essere usato per gestire questo o devo affrontare questo problema in un modo diverso?

risposta

2

La mia comprensione è che EF non supporta questa funzione.

È possibile creare una nuova vista per risolvere il conflitto e interrogare la nuova vista con EF.

+0

Se creo una nuova vista, sarà ancora da un server con regole di confronto non corrispondenti. –

+1

Lo so, ma hai detto nella domanda "i problemi di collazione sono facilmente risolvibili in SQL usando COLLATE" - quindi dovresti essere in grado di risolverlo nella nuova vista ... – qujck

+0

Anche se creo una nuova vista usando COLLATE sulle colonne utilizzato su join, genera ancora un'eccezione di conflitto di confronto –

Problemi correlati