我的應用程序是一個多用戶的podcast聚合器,使用NHibernate 2.1(如果這改變了.NET 4.0的話)。我也是一個完整的NHibernate n00b。每個播客的NHibernate中的多對多集合映射
詳細信息只存儲一次,並且用戶訂閱的播客,所以播客和用戶之間的許多一對多的映射,我已經在我的數據庫與訂閱表映射:
Subscriptions(UserId, FeedId)
我也有存儲每個用戶每個項目的信息UserFeedItems表:
UserFeedItems(UserId, FeedItemId, IsNew, ListenCount, etc.)
我的對象模型是有點不同:
class Podcast {
IList<PodcastFeedItem> FeedItems { get; set; }
bool HasNew {
get {
// return true if any of the FeedItems are new
}
}
}
class PodcastFeedItem {
bool IsNew { get; set; }
}
class User {
IList<PodcastFeed> Subscriptions { get; set; }
}
在NHibernate中需要什麼映射來將關係模型正確映射到對象模型?通過定義上面列出的那些「鏈接」表,我是否已經走到了盡頭?排序可能很重要,因爲顯然我需要按照時間順序組織飼料。
我已閱讀the documentation on collection mapping,但我很努力地將這些示例應用到我自己的場景中。
感謝您提供更詳細的答案;不幸的是,我還在等待一段時間來測試這一點。 – alastairs 2009-11-11 15:12:38
有幾個問題: 1.爲什麼套在袋子上? 2.類名是否應該在多對多標籤中相同?沒有一個播客,一個用戶? (如果是這樣的話,我不確定它應該是哪條路)。 – alastairs 2009-11-11 22:08:11
在上面的映射中有一個錯誤,第二個多對多應該是類用戶 - 對不起,我會更新答案。 – reach4thelasers 2009-11-12 14:47:18