Пожалуйста, посмотрите на обновление 2, где я обратился к вам последний вопрос.

я есть пользователь, который может иметь коллекцию пользователей, которые ему нравятся ...

Другой пользователь может иметь коллекцию пользователей, которых он любит ....

Если пользователь A любит пользователя B, а пользователь B любит пользователя A, он может потусоваться. Мне нужно отправить друг другу свои контактные данные. Как мы представляем такую ​​модель в Entity Framework Code First?

public class User
{
    public int UserId { get; set; }

    public int? UserLikeId { get; set; }
    public virtual UserLike UserLike { get; set; }
}

public class UserLike
{
    public int UserLikeId { get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }

    public virtual ICollection<User> LikeUsers { get; set; }
}

Эта модель верна? Я не могу заставить это работать.

Я пробовал другой способ, но это тоже не работает ...

Я попытался добавить коллекцию пользователей в таблицу пользователей.

Например:

public virtual ICollection<User> userlike { get; set; }

public class User
{
    public int UserId { get; set; }
    public virtual ICollection<UserLike> UserLikes { get; set; }
}

public class UserLike
{
    public int UserLikeId { get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }

    public int LikeUserId { get; set; }
    public virtual User LikeUser { get; set; }
}

Я получаю эту ошибку, когда пытаюсь добавить пользователя и кого он любит:

Обнаружены конфликтующие изменения в роли «UserLike_LikeUser_Target» отношения «UserLike_LikeUser».

Какой лучший способ представить такую ​​модель?

Ответы на вопрос(1)

Ваш ответ на вопрос