Ошибка Entity Framework Core 3.0 - SqlException: неверное имя столбца - PullRequest
0 голосов
/ 31 марта 2020

Я получаю следующую ошибку при переносе моего ASP. NET Core MVC с 2.2 на 3.0

SqlException: Неверное имя столбца 'ContractProfileContractId'.

Мое утверждение, которое выдает ошибку:

var totalemployees =   _context.EmployeeProfile.Where(x => x.Active == true).ToList();

Когда я добавляю столбец ContractProfileContractId в таблицу Employees, приложения работают, но мне нужно добавить все больше и больше столбцов для других столы.

Я начал кодировать это приложение в. NET Core 1.1 (2017), перенес его на 2.0, 2.1 и 2.2 (1 год go), а теперь на 3.0.

Я пробовал миграцию 3.1, и та же проблема существует.

Приложение прошло экран входа в систему без каких-либо ошибок. Ошибка появляется только после попытки запроса из базы данных с помощью EF.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 31 марта 2020

Похоже, вы забыли сгенерировать миграцию после добавления нового поля.

do tnet ef migrations add YourMigration

0 голосов
/ 31 марта 2020

Похоже, что EF Core генерирует для вас внешний ключ в вашей модели.

Пожалуйста, проверьте свою модель и контекст, чтобы увидеть, есть ли у вас объявленные отношения и где внешний ключ не объявлен в DBB в соответствии с соглашениями (то есть EntityId для внешнего ключа).

Если это так, то вы можете украсить свойство внешнего ключа в своем классе POCO (но я уверен, что оно также может быть настроено во время определения контекста данных)

/// The DBB Foreign key property
[ForeignKey("RelationProperty")]
[Required]
public int IdRelationProperty { get; set; }


/// 
public virtual XXXType RelationProperty{ get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...