5

Mon modèle EF extrait des données d'une base de données dont la vue obtient des données d'un serveur lié. Le classement de la base de données dans le serveur lié a été modifié en SQL_Latin1_General_CP1_CI_AS mais pas les serveurs. Je suppose que c'est de là que vient le conflit de collation. Chaque fois que je fais rejoins ce point de vue, je continue à obtenir cette erreur:Comment résoudre les conflits de classement avec Entity Framework?

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

Je trouve que les problèmes de classement sont facilement résolus dans SQL COLLATE. Je n'arrive pas à trouver un moyen de le faire avec LINQ. LINQ peut-il être utilisé pour gérer cela ou devrais-je aborder ce problème d'une manière différente?

Répondre

2

Ma compréhension est que EF ne supporte pas cette fonctionnalité.

Vous pouvez créer une nouvelle vue pour résoudre le conflit et interroger la nouvelle vue avec EF.

+0

Si je crée une nouvelle vue, elle proviendra toujours d'un serveur avec un classement sans correspondance. –

+1

Je sais, mais vous avez dit dans la question "les problèmes de collation sont facilement résolus en SQL en utilisant COLLATE" - vous devriez donc pouvoir le résoudre dans la nouvelle vue ... – qujck

+0

Même si je crée une nouvelle vue en utilisant COLLATE sur les colonnes utilisé sur les jointures, il génère toujours une exception de conflit de classement –

Questions connexes