首先我明確表示,我沒有使用任何OR映射器框架來解決這個問題,因爲我需要從頭開始理解模型。如何模擬這種關係?
好的。讓我們來看看錶的設計:
場 - 表
------------------
ID | CourseName
------------------
1 | C++
2 | Java
------------------
教師 - 表
-----------------------
ID | TeacherName
-----------------------
1 | Professor X
2 | Professor Y
-----------------------
CourseTeacher - 表
---------------------------------------------
ID | CourseID | TeacherID | ClassTime
---------------------------------------------
1 | 1 | 1 | Monday 10:55
2 | 1 | 2 | Thursday 10:55
3 | 2 | 1 | Tuesday 11:45
4 | 2 | 2 | Wednesday 11:45
---------------------------------------------
我應該如何設計我的C#類?
可以有另一個問題像是:
用戶 - 表
------------------
ID | UserName
------------------
1 | a
2 | b
------------------
角色 - 表
-----------------------
ID | RoleName
-----------------------
1 | c
2 | d
-----------------------
的UserRole - 表
---------------------------------------------
ID | UserID | RoleID | Remarks
---------------------------------------------
1 | 1 | 1 | xy
2 | 1 | 2 | yz
3 | 2 | 1 | zx
4 | 2 | 2 | xx
---------------------------------------------
在我看來,這是正確的想法。這就是所謂的「物化」。 – duffymo 2010-12-28 18:00:10
@duffymo,@Mark Seemann:雖然我認爲這個答案對於@duffymo指出的理由有價值 - 提出了澄清絕對好的概念的好點 - 以更多地瞭解這個問題。但我認爲它實際上並不能真正幫助@JMSA,因爲他想將它建模爲一個類,而上述目的實際上很可能在實際應用中沒有任何價值 - 它可以是我的opionion FindClassSession中的一種搜索方法(老師,課程,時間)但絕對不是一堂課。我會說這正是在這種情況下不應該是一類的。只是我的意見 – user44298 2010-12-28 23:05:19
@duffymo,@Mark cont'從上面:所以@JMSA將不得不寫一個exctra類,除了他必須維護的教師和課程類,真的沒用它。所以我認爲它最終是這樣的:更多的代碼給mainain(實際上可能不是有用的),因爲@JMSA容易犯更多的錯誤(只是因爲現在有更多的代碼需要擔心。有價值的結晶課堂會議的想法,但不能超越,因爲目的似乎沒有足夠的實際應用。 – user44298 2010-12-28 23:10:24