CF EF MVC множественный внешний ключ 1-к-1 из одной таблицы
У меня есть это:
public class Match
{
[Key]
public string Id { get; set; }
[ForeignKey("MatchedUser1")]
public string IdOf1 { get; set; }
[ForeignKey("MatchedUser2")]
public string IdOf2 { get; set; }
[InverseProperty("User1")]
public virtual ApplicationUser MatchedUser1 { get; set; }
[InverseProperty("User2")]
public virtual ApplicationUser MatchedUser2 { get; set; }
public List<ApplicationUser> User1 { get; set; }
public List<ApplicationUser> User2 { get; set; }
public virtual ApplicationUser User { get; set; }
}
Идея состоит в том, чтобы иметь таблицу (Match), содержащую 2 пользователя в качестве внешних ключей.
Когда я пытаюсь добавить миграцию, консоль отвечает:
"Недопустимый атрибут InversePropertyAttribute для свойства" MatchedUser1 "типа" H4L.Web.Models.Match ". Свойство" User1 "не является допустимым свойством навигации для связанного типа" H4L.Web.Models.ApplicationUser ". Убедитесь, что свойство существует и является действительной ссылкой или свойством навигации по коллекции. "
И я не хочу использовать свободный API, если это не единственный способ.
1 ответ
Наконец-то разобрался. Я думал, что код должен быть сделан исключительно в этом классе, но, очевидно, мне нужно было добавить это в классе ApplicationUser:
public virtual ICollection<Match> User1 { get; set; }
public virtual ICollection<Match> User2 { get; set; }