Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2016, 19:32   #1
Павел Nix
Новичок
Джуниор
 
Регистрация: 17.07.2016
Сообщений: 1
По умолчанию Модель для друзей социальной сети

Здравствуйте. Необходимо организовать логику друзей пользователя в социальной сети. Окончательно запутался.

Код:
public class Friendlist : EntityBase //от EntityBase наследуется Id
{ 
//ссылка на владельца списка друзей
public virtual User FriendOwner { get; set; } 
//список друзей
public virtual ICollection<User> UsersFriends { get; set; } 
} 
 
public class FriendRequests : EntityBase 
{ 
//ссылка на владельца списка заявок
public virtual User RequestsOwner { get; set; } 
//список заявок
public virtual ICollection<User> UsersRequests { get; set; } 
}
User будет хранить
Код:
public virtual ICollection<User> Friends { get; set; }
public virtual ICollection<User> Requests{get; set;}
или же просто две ссылки типа? Тут вот совсем не понятно
Код:
public virtual Friendlist Friends { get; set;}
public virtual FriendRequests Requests{ get; set;}
Миграция в таком случае имеет вид, закоменчен код, для случая, если User будет хранить ссылки, а не коллекции:
Код:
public override void Up()
        {
            Database.AddTable(
                "FriendLists",
                new Column("Id", DbType.Int64, ColumnProperty.PrimaryKeyWithIdentity),
                new Column("FriendsOwner_Id", DbType.Int64, 30, ColumnProperty.ForeignKey));
 
            Database.AddTable(
                "FriendRequests",
                new Column("Id", DbType.Int64, ColumnProperty.PrimaryKeyWithIdentity),
                new Column("FriendRequestsOwner_Id", DbType.Int64, 30, ColumnProperty.ForeignKey));
 
         //Database.AddForeignKey("FK_Users_FriendList_Friends", "Users", "Friendlist_Id", "FriendList", "Id");
         //Database.AddForeignKey("FK_Users_FriendRequests_Requests", "Users", "Friendrequests_Id", "FriendRequests", "Id");
 
            Database.AddForeignKey("FK_FriendList_Users_FriendsOwner", "FriendList", "FriendsOwner_Id", "Users", "Id");
            Database.AddForeignKey("FK_FriendRequests_Users_FriendRequestsOwner", "FriendRequests", "FriendRequestsOwner_Id", "Users", "Id");
      }
Я понимаю, что нагородил бреда, но если кто-то понял меня, буду рад любой помощи.
Павел Nix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск