首先我明确表示,我没有使用任何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