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; }
Другие вопросы по тегам