将一个对象映射到4种不同类型的对象? (MySql,C#)

时间:2011-04-15 18:45:34

标签: c# mysql

我有一个由用户组成的表,一种类型的组,另一种类型的组和第三种类型的组。每种群体都彼此截然不同,将它们放在同一张桌子上没有多大意义。

现在我还有一个文档表,这些文档应该可供用户使用,如果他是个人授予,通过成为第一类组的成员,第二类的组或一组第三种类型。

所以目前我解决这个问题的方法是使用一个名为“documentconnection”的表,其中包含一个文档的ID,然后是每个可能连接的4个ID字段。然后将4个ID字段中的一个设置为ID,其余设置为-1。 (例如:userid = -1,group_type_one = -1,group_type_2 = 256189,group_type_3 = -1)。

这真的是正确的解决方案吗?

编辑:

这是我的表格的布局

用户表

UserID
Username
Usertype

CustomGroupTable

GroupID
Name

SpecialGroupTable

SpecialGroupID
Name
SpecialField1
SpecialField2

SubSpecialGroup

SubSpecialID
SubName
SubDateTime

文档

DocumentId
DocumentLocalPath

现在这是我正在谈论的表格, 的 DocumentConnection

DocumentId
UserId
CustomGroupId
SpecialGroupId
SubGroupId

在documentconnection-table中,我为每个不同类型的组创建了一个Id字段,因为我需要能够知道差异,因为在特殊组表中将有一个ID为1的条目,但也是ID为1的自定义组(作为示例)。

再次,这是正确的方法吗?

0 个答案:

没有答案