Nhibernate, нужна помощь для создания класса сущностей - PullRequest
0 голосов
/ 28 декабря 2011

У меня 3 таблицы, они очень простые. Пользователь, Пост, Фаворит.

            User Table:
            Id: int
            Name: string
            --------------------------------

            Post Table:
            Id: int
            Title: string
            UserId: int  (this is the FK)
            --------------------------------

            Favorite Table:
            UserId: int
            PostId: int
            --------------------------------

Я создаю 2 файла классов для таблиц User и Post. Не знаю, как добавить туда любимую таблицу, любимая таблица позволяет пользователю добавлять в закладки свои любимые записи.

            public class User : Entity
            {
                public User() { this.Posts = new List<Post>;}
                public virtual string Name { get; set; }
                public virtual IList<Post> Posts {get; set;}
            }

            public class Post : Entity
            {
                public Post() {}
                public virtual string Title { get; set; }
                public virtual User User { get; set; }
            }

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Rookian, спасибо за помощь.

После добавления таблицы я добавил общедоступный виртуальный IList Favorites {get; задавать;} в пользовательские и почтовые таблицы. Все еще кажется не совсем правильным.

            public class User : Entity
            {
                public User() { this.Posts = new List<Post>;}
                public virtual string Name { get; set; }
                public virtual IList<Post> Posts {get; set;}
                public virtual IList<Favorite> Favorites { get; set;}
            }

            public class Post : Entity
            {
                public Post() {}
                public virtual string Title { get; set; }
                public virtual User User { get; set; }
                public virtual IList<Favorite> Favorites { get; set;}
            }

            public class Favorite : Entity
            {
                public virtual Post Post { get; set; }
                public virtual User User { get; set; }
            }
0 голосов
/ 28 декабря 2011

Вы имеете отношение ко многим.Таблица избранного - это таблица отношений между пользователем и публикацией.

public class Favorite : Entity
{
    public virtual Post Post { get; set; }
    public virtual User User { get; set; }
}
...