Вначале я хотел упомянуть, что боролся с этим несколько дней и пробовал многие ответы, более или менее связанные с этой проблемой.И все же я не смог ее решить.
У меня есть два класса, которые представляют таблицы в БД.Это существующие таблицы, используемые унаследованным приложением, и я не могу их изменить.
Сообщение может иметь несколько MessageRecipients.
Среда: MVC3, EF4.1
Классы:
public class Message
{
[ForeignKey("MessageReciepients")]
public virtual int MessageID { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime Recieved { get; set; }
[ForeignKey("User")]
public int AuthorUserID { get; set; }
//P\\ Navigation properties
public virtual IList<MessageRecipient> MessageReciepients { get; set; }
public virtual User User { get; set; }
}
public class MessageRecipient
{
//[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int MessageID { get; set; }
public int UserID { get; set; }
public bool Read { get; set; }
public bool Important { get; set; }
public bool Deleted { get; set; }
public bool Destroyed { get; set; }
//P\\ Navigation Properties
public virtual User User { get; set; }
}
У меня ошибка:
Компонент внешнего ключа 'MessageID' не является объявленным свойством типа 'MessageRecipient'.Убедитесь, что он не был явно исключен из модели и является допустимым примитивным свойством.
Как правильно отобразить эти классы, отношения для загрузки получателей сообщения?
Могу добавить, что свойство навигации Пользователь правильно работает для Сообщения и правильно загружает данные Пользователя.
Я не слишком разбираюсь в .NET и учусь при этом.Я попробовал некоторые настройки EF API, чтобы отобразить их, я пытался ругаться, ругаться и быть близким к тому, чтобы плакать и молиться одновременно.Нет радости !!
Буду очень признателен за помощь.