gpt4 book ai didi

c# - 如何建模这种关系?

转载 作者:行者123 更新时间:2023-11-30 14:04:36 26 4
gpt4 key购买 nike

首先我明确表示,我没有使用任何 OR Mapper 框架来解决这个问题,因为我需要从头开始理解模型。

好的。让我们看看表格设计:

类(class)-表格

------------------
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
---------------------------------------------

最佳答案

一般来说,当您的域模型中存在多对多关系时,代码中的访问模式要么来自 M2M 的一侧,要么来自另一侧...

例如如果您有一个包含人员的结构,每个人都在您的零售店进行了多次购买,您通常可能希望通过人员而不是通过产品访问这些交易。换句话说,您可能更想知道某个特定的人购买了哪些产品,而不是人们购买了哪些特定产品。因此,在此示例中,您只需让每个人类都包含一个属性,该属性是产品的集合。不需要通过 Product 类访问 person 类。

另一个例子如果您有一个包含人的结构,每个人都订阅了一些杂志。

现在,如果您是出版商,通常您可能希望通过杂志而不是个人来访问这些交易。换句话说,您可能更想知道人们订阅了哪些特定杂志,而不是某个特定的人订阅了哪些杂志。因此,在此示例中,您将在 Magazine 类中放置一个 Subscribers 集合属性。

关于c# - 如何建模这种关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com