2012-05-08 62 views
0

我有一個RESTful服務器,我用作手機遊戲服務器,我現在試圖創建一個數據庫(使用NHibernate),但我不知道如何在數據庫中正確地做這件事情我應該如何創建這個數據庫結構,想我得到一個fantrap

在數據庫中有用戶,每個用戶都可以參與很多遊戲,遊戲是QDGame繼承的超類(這個類也有繼承的子類,但那裏不重要)一個玩家可以成爲10 QDGame的一部分

我的夢想是X數量的玩家可以成爲一個遊戲的一部分,那麼我應該在List類型的遊戲中列出一個列表嗎?我認爲那是錯誤的,因爲每個玩家會有很多遊戲,每個遊戲都會有很多玩家(Fantrap?)

那麼我應該如何獲得許多用戶之間共享的許多遊戲之間的鏈接?

enter image description here

回答

0

如果我正確理解你的問題,你正在尋找一個多到這裏的許多關係

Users [UserId, ....] 
Games [GameId, ...] 
GameUsers[GameUserId, GameId, UserId, ...] 
+0

是,我想避免 – Mech0z

+0

爲什麼你要避免多對多?這是解決您的問題的正確方法。 – Rippo

+0

上面提到的扇形陷阱只從事務角度來看與你的對象模型有關,也就是說,在遊戲的上下文中它將是GameUsers,而對於用戶則是UserGames,這取決於你的流程是如何定義的,這將是最好的方法,雖然想看看是否有替代 – kalki

相關問題