2011-12-28 51 views
0

我有3個表格,它們很簡單。用戶,發佈,收藏。Nhibernate,需要幫助來構建實體類

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

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

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

我爲User和Post表創建了2個類文件。不知道如何在那裏添加收藏表格,收藏表格允許用戶爲他們最喜歡的帖子添加書籤。

  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; } 
      } 
+0

你在找什麼可能是一個多對多的關係。 – alexn 2011-12-28 19:08:27

+0

你們,這是多對多的關係。但是,從用戶到發佈,它是一對多的關係,一個用戶可以有很多帖子,一個帖子必須屬於一個用戶。最喜歡的是多對多的,也是Post和User之間的。我被困在這裏,不知道如何繼續 – qinking126 2011-12-28 19:13:15

回答

0

您有多對多的關係。收藏表是用戶和郵政之間的關係表。

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

Rookian,謝謝你的幫助。我添加了你的代碼,修改了hte User和post table,但仍然看起來不正確。 – qinking126 2011-12-28 19:32:30

0

Rookian,謝謝你的幫助。我加了 公共虛擬IList收藏夾{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

我不會添加Favortites列表。我會把多對多協會看作是多對一的協會。在我看來這更容易處理。看看:http://stackoverflow.com/questions/3694632/automapper-bestpractice-of-mapping-a-many-to-many-association-into-a-flat-obje/3704643#3704643 – Rookian 2011-12-29 13:23:01