我最近听到有人建议可以使用Entity Framework来对数据进行非规范化。例如,假设您有一个游戏类型表和一个游戏表。
您的初始EF模型可能会通过game.Genre.Name
获得游戏类型的名称。显然,有一种方法可以重新映射,以便您可以通过game.GenreName
获取游戏的流派名称。
new GameAbstraction() {GenreName = gameEntity.Genre.Name }
)。
这是EF可以做的事情,还是增加规范化(例如在Genre.Name == 'Sports' or ActionGame when Genre.Name = 'Action'
时创建SportsGame)?
答案 0 :(得分:2)
我已经完成了相当程度的成功,将非规范化表映射到规范化的实体框架,反之亦然。我开始使用实体框架提供的设计器,你可以实际拖放图表周围的属性来构建新的实体......
但是,我认为用于实现这一目标的UI +工具在自动化或易用性方面尚未完全实现。有些东西并没有映射出你期望或想要的方式。如果你计划进行大量的非规范化,你最终会对设计师背后的XML进行大量的手工编辑。这是我在最近的项目中暂时不得不做的事情。
答案 1 :(得分:0)
是的,它被称为实体拆分。 Here's a tutorial.
我同意@Graham,如果你对XML编辑感到不舒服,你不应该尝试。