У меня есть пользователь, который может иметь коллекцию пользователей, которые ему нравятся ...
Другой пользователь может иметь коллекцию пользователей, которые ему нравятся ....
Если пользователю 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.
Как лучше всего представить такую модель?