Zawęziłem to do problemu między Code First i Database first EF, ale nie jestem pewien, jak to naprawić. Postaram się mówić tak jasno, jak tylko potrafię, ale szczerze mówiąc, sam brakuje mi części zrozumienia. To jest Entity Framework 4.4
Odziedziczyłem projekt, w którym był używany Entity Framework, ale wiele rzeczywistych plików zostało usuniętych bez realnego sposobu na powrót. Ponownie dodałem EF (najpierw baza danych) i zreplikowałem konfigurację T4, wokół której został zbudowany projekt. Wygenerował wersje kodu wszystkich modeli baz danych i plik kodu DBContext.
Jeśli moje parametry połączenia wyglądają jak „normalne” parametry połączenia .NET, pojawia się błąd dotyczący nieprawidłowej kolumny. Nazwa „ProcessState_ID” nie istnieje. ProcessState_ID w ogóle nie znajduje się w bazie kodu, nie ma go w pliku EDMX ani w niczym. Wydaje się, że jest to automatyczna konwersja EF w zapytaniu.
Kiedy dopasowuję parametry połączenia do modelu Entity Framework, działa dobrze.
Teraz, próbując dopasować poprzedni kod do Entity Framework, chciałbym zachować „normalne” parametry połączenia .NET.
Mam więc tutaj dwa pytania: 1. Jaki jest dobry sposób przejścia od normalnych parametrów połączenia do parametrów połączenia EF w kodzie? 2. Czy jest tu inna poprawka, której nie widzę, aby zatrzymać błąd nieprawidłowej nazwy kolumny?
public virtual Person Person { get; }