我正在設計一個計劃使用NHibernate作爲數據訪問層的OO對象模型。關於多對多關係的OO問題(爲NHibernate計劃)
我想知道在處理兩個彼此具有多對多關係的實體(尤其是與NHibernate輕鬆集成)時最佳的OO設計。
的對象: 用戶 - 單個用戶可以與多個主題 主題 - 一個單一的主題可以與多個用戶
在SQL中,這種關係是直接的使用多對多表;
tblUser
userID
tblSubject
subjectID
tblUserSubject
userSubjectID
userID
subjectID
那麼,應該如何創建純對象?每個對象是否應該包含另一個對象的集合?例如:
class User
{
public int userID {get; set;}
public List<Subject> subjects {get; set;}
}
class Subject
{
public int subjectID {get; set;}
public List<User> users {get; set;}
}
有沒有更好的方法來建模,使NHibernate可以很容易地堅持關係?