2011-05-16 50 views
0

我试图找出处理实体框架中的以下情形的好方法,但不知道使用的惯例的名字,所以我有困难的时候找到的结果:数据库设计 - 这个约定的名字?

基表

分类表:类别ID,姓名,...,主动

页面表:WebpageID,姓名,...,主动

产品表:产品ID,姓名,...,主动

链接表:链路ID,姓名,...,主动

关系表

关系表:ID,类别ID,childID的,ChildTypeID,SortOrder的

(childID的可能类别ID,网页ID,产品ID或LinkID。 ChildTypeID标识哪个表/类型的ChildID也链接)

我应该使用什么搜索条件来查找关于这种类型的关系的信息?有没有人有任何资源的链接,可能在实体框架中处理这种事情有用?我正在考虑将关系表分成四个表格,但是我想确保我没有为自己创造更多的工作。

+0

这是一个非常糟糕的结构。对于每种类型的关系,您应该有一个单独的关系表,以便您可以执行外键约束。这种结构很难查询,并且更可能包含错误的数据。 – HLGEM 2011-05-16 16:54:02

+0

HLGEM,因此我关于考虑将关系表分成四个表格。看不见的结构是观察者的眼睛......有时你必须正常化,反规范化,并做一些不寻常的事情来适应你的特定需求。在这种情况下,需要返回一个分类和排序的所有类别内容列表。 SortOrder列不是特定于ChildType的,而是跨类别内的所有类型。 – Sam 2011-05-16 20:20:58

回答

1

在Hibernate中它将被称为继承映射。尝试搜索实体框架文档中的类似术语。

+0

非常有帮助,谢谢。 – Sam 2011-05-16 14:24:39