Я сузил это до некоторой проблемы между Code First и Database first EF, но я не уверен, как это исправить. Я постараюсь быть как можно более ясным, но, честно говоря, мне сам не хватает некоторого понимания. Это Entity Framework 4.4
Я унаследовал проект, в котором использовалась Entity Framework, но многие фактические файлы были удалены без возможности вернуться назад. Я повторно добавил EF (сначала базу данных) и реплицировал настройку T4, вокруг которой был построен проект. Он сгенерировал версии кода всех моделей баз данных и файл кода DBContext.
Если моя строка подключения выглядит как «обычная» строка подключения .NET, я получаю сообщение об ошибке о недопустимом столбце Имя «ProcessState_ID» не существует. ProcessState_ID вообще отсутствует в базе кода, его нет в файле EDMX или в чем-то еще. Это похоже на автоматическое преобразование EF в запросе.
Когда я заставляю строку подключения соответствовать модели Entity Framework, она работает нормально.
Теперь, пытаясь сопоставить предыдущий код с Entity Framework, я хотел бы сохранить «обычную» строку подключения .NET.
Итак, у меня есть два вопроса: 1. Как лучше всего перейти от обычной строки подключения к строке подключения EF в коде? 2. Есть ли еще одно исправление, которое я не вижу, чтобы остановить ошибку недопустимого имени столбца?
public virtual Person Person { get; }