Ich habe dies auf ein Problem zwischen Code First und Database First EF eingegrenzt, bin mir aber nicht sicher, wie ich es beheben soll. Ich werde versuchen, so klar wie möglich zu sein, aber ich vermisse hier ehrlich gesagt etwas von dem Verständnis. Dies ist Entity Framework 4.4
Ich habe ein Projekt geerbt, in dem Entity Framework verwendet wurde, aber viele der tatsächlichen Dateien wurden gelöscht, ohne dass es einen wirklichen Weg gab, zurück zu gehen. Ich habe EF (Datenbank zuerst) erneut hinzugefügt und ein T4-Setup repliziert, um das das Projekt herum erstellt wurde. Es wurden Codeversionen aller Datenbankmodelle und eine DBContext-Codedatei generiert.
Wenn meine Verbindungszeichenfolge wie eine "normale" .NET-Verbindungszeichenfolge aussieht, wird eine Fehlermeldung angezeigt, dass eine ungültige Spalte mit dem Namen "ProcessState_ID" nicht vorhanden ist. ProcessState_ID befindet sich überhaupt nicht in der Codebasis, nicht in der EDMX-Datei oder so. Dies scheint eine automatische EF-Konvertierung in der Abfrage zu sein.
Wenn ich die Verbindungszeichenfolge mit dem Entity Framework-Modell übereinstimme, funktioniert sie einwandfrei.
Beim Versuch, den vorherigen Code mit Entity Framework abzugleichen, möchte ich die "normale" .NET-Verbindungszeichenfolge beibehalten.
Ich habe hier also zwei Fragen: 1. Was ist ein guter Weg, um von einer normalen Verbindungszeichenfolge zu einer EF-Verbindungszeichenfolge im Code zu gelangen? 2. Gibt es hier einen anderen Fix, den ich nicht sehe, um den ungültigen Spaltennamenfehler zu stoppen?
public virtual Person Person { get; }