【发布时间】:2011-08-26 11:48:49
【问题描述】:
我正在尝试找出一种在 Entity Framework 中处理以下场景的好方法,但不知道使用的约定的名称,所以我很难找到结果:
基表
类别表:CategoryID, Name, ..., Active
网页表:网页ID、名称、...、活动
产品表:ProductID、名称、...、活动
链接表:LinkID、名称、...、活动
关系表
关系表:ID、CategoryID、ChildID、ChildTypeID、SortOrder
(ChildID 可以是 CategoryID、WebpageID、ProductID 或 LinkID。ChildTypeID 也标识了 ChildID 链接的表/类型)
我应该使用什么搜索词来查找有关此类关系的信息?有没有人有任何资源链接可能对在实体框架中处理这类事情有用?我正在考虑将关系表拆分为四个表,但要确保我不会为自己创建超出必要的工作量。
【问题讨论】:
-
这是一个非常糟糕的结构。对于每种类型的关系,您应该有一个单独的关系表,以便您可以强制执行外键约束。这种结构更难查询,而且更有可能包含错误数据。
-
HLGEM,因此我的评论是关于考虑将关系表分成四个表。糟糕的结构在旁观者的眼中......有时你必须规范化、非规范化,并做一些与众不同的事情来满足你的特定需求。在这种情况下,要求是返回所有类别内容的分页和排序列表。 SortOrder 列并非特定于 ChildType,而是跨类别中的所有类型。
标签: mysql sql sql-server entity-framework