J'ai réduit cela à un problème entre Code First et Database first EF, mais je ne sais pas comment le résoudre. J'essaierai d'être aussi clair que possible, mais honnêtement, je manque une partie de la compréhension ici moi-même. C'est Entity Framework 4.4
J'ai hérité d'un projet dans lequel Entity Framework était utilisé, mais de nombreux fichiers réels ont été supprimés sans véritable moyen de revenir en arrière. J'ai ré-ajouté EF (base de données d'abord) et répliqué une configuration T4 autour de laquelle le projet a été construit. Il a généré des versions de code de tous les modèles de base de données et un fichier de code DBContext.
Si ma chaîne de connexion ressemble à une chaîne de connexion .NET "normale", j'obtiens une erreur concernant une colonne non valide. Le nom "ProcessState_ID" n'existe pas. ProcessState_ID n'est pas du tout dans la base de code, il n'est pas dans le fichier EDMX ou quoi que ce soit. Cela semble être une conversion EF automatique dans la requête.
Lorsque je fais correspondre la chaîne de connexion au modèle Entity Framework, cela fonctionne correctement.
Maintenant, en essayant de faire correspondre le code précédent avec Entity Framework, j'aimerais garder la chaîne de connexion .NET "normale".
J'ai donc deux questions ici: 1. Quel est le bon moyen de passer d'une chaîne de connexion normale à une chaîne de connexion EF dans le code? 2. Y a-t-il un autre correctif ici que je ne vois pas pour arrêter l'erreur de nom de colonne non valide?
public virtual Person Person { get; }