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 ProjectContact
    {
        [Key]
        public int ProjectContactId { get; set; }
        public string JobTitle { get; set; }
        public string Number { get; set; }
        public string ProjectContactMSFNo { get; set; }
        public string FullName { get; set; }

    }

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

SELECT [ProjectId]
      ,[ApprovalContact_ProjectId]
      ,[BillContact_ProjectId]
      ,[ProjectContact_ProjectId]
  FROM [Db].[dbo].[Projects] 

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

Теперь, когда я изменил столбец [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
Является ли этот КБ законным? Да, узнайте, почему