我正在用 C# 使用 SQL 数据库做一个应用程序。
我有一个模型:
Person()
{
string id;//unike key
string name;
List<string> responsableOf;//list of id
}
我想把它表示成一个表。
哪些是表格的正确字段?
我正在用 C# 使用 SQL 数据库做一个应用程序。
我有一个模型:
Person()
{
string id;//unike key
string name;
List<string> responsableOf;//list of id
}
我想把它表示成一个表。
哪些是表格的正确字段?
这取决于该人与他将负责的其他人之间存在什么样的关系。
如果它是父子关系,即组合,您可以使用自引用表。就像是:
Persons
具有以下列:
Id
,name
.ParentId
同一张表的外键。如果人和其他人之间的关系是一个聚合,并且一个人可能对许多其他人负责person
:
Persons:
Id
,name
.usersresponsibilities
:
Id
,PersonId
,ResobonsiblePersonID
.稍后,在这两种情况下,在您的前端应用程序中,您都需要将这些表中的数据作为对象而不是行来处理。你应该从对象的角度来思考。
在您的应用程序中,您当前的类Person
应映射到此表。
解决方案将在一定程度上取决于您的约束:
您需要的是人员之间的多对多关系(以及包含其他字段、ID 和姓名的人员表)
您将表示使用关联两个 ID(外键)的表对于任何给定的行,该表将关联:
构建您的列表就像在此表中查询具有给定责任 ID 的行一样简单。
您需要一个外键到您的人员表中的同一个表(责任 ID)。
然后,构建您的列表就像在人员表中查询具有给定责任 ID 的行一样简单。
创建一个 id 和 responsableOfID 作为整数的表,而 responsableOfID 是另一个具有 id 和名称的表的外键