EntityFramework при изменении имени столбца - Недопустимое имя столбца

asp.net-mvc-4 entity-framework entity-framework-6

Вопрос

Я создаю приложение MVC4 и использую Entityframework. Я использую первую модель кода.

Мой класс Project выглядит следующим образом:

public class Project
    {
     [Key]
       public int ProjectId { get; set; }
       public ProjectContact ApprovalContact { get; set; }

        public ProjectContact BillContact { get; set; }

        public ProjectContact ProjectContact { get; set; }
     }

Мой класс ProjectContact выглядит следующим образом:

public class Project
    {
     [Key]
       public int ProjectId { get; set; }
       public ProjectContact ApprovalContact { get; set; }

        public ProjectContact BillContact { get; set; }

        public ProjectContact ProjectContact { get; set; }
     }

При использовании кода сначала в базе данных EntityFramework генерируется

public class Project
    {
     [Key]
       public int ProjectId { get; set; }
       public ProjectContact ApprovalContact { get; set; }

        public ProjectContact BillContact { get; set; }

        public ProjectContact ProjectContact { get; set; }
     }

До сих пор он отлично работает

Теперь, когда я изменил столбец [ApprovalContact_ProjectId] на [ApprovalContact] и попытаюсь вставить проект в базу данных, я получаю ошибку: Недопустимое имя столбца «ApprovalContact_ProjectContactId».

когда я пытаюсь сопоставить имя модели в modelBuilder, я получаю ERROR: Models.ProjectContact должен быть недействительным

Как сообщить DbContext сопоставить [ApprovalContact_ProjectId] с [ApprovalContact] ?

Принятый ответ

Вы пробовали следующую аннотацию

[ForeignKey("ApprovalContactID")]
public ProjectContact ApprovalContact { get; set; }

Я нашел это в: Entity Framework Code First: как комментировать внешний ключ для значения «по умолчанию»?

и я также предлагаю вам посмотреть: https://entityframework.codeplex.com/workitem/1226




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему