【发布时间】:2012-04-27 21:57:23
【问题描述】:
我想创建一个多层(3 层)应用程序。 EF 是首选的 ORM。
我应该使用 EF 直接在我的表示层中创建的实体,还是应该创建新的自定义实体并映射实体?如果是这样,我应该在自定义实体之上创建接口吗?
我应该将EF生成的.edmx文件放在数据层吗?
谢谢
【问题讨论】:
标签: c# entity-framework design-patterns
我想创建一个多层(3 层)应用程序。 EF 是首选的 ORM。
我应该使用 EF 直接在我的表示层中创建的实体,还是应该创建新的自定义实体并映射实体?如果是这样,我应该在自定义实体之上创建接口吗?
我应该将EF生成的.edmx文件放在数据层吗?
谢谢
【问题讨论】:
标签: c# entity-framework design-patterns
【讨论】:
数据库的需求和数据消费者的需求经常不一致,因此通常需要不同的模型。
例如,考虑添加新客户的用户故事。故事通常包括对办公室电话号码和传真号码的“需求”。
马上,数据库设计人员会说“这是重复数据”,我需要一个一对多的关系,这样我们不仅可以容纳两个电话号码,而且可以容纳几乎无限数量的电话,按类型。 (我们甚至不要陷入电话号码是多对多或一对多的痛苦)
同时回到报告、屏幕、移动设备,你有什么 UI 体验——那个设计师说“我不在乎你能存储多少个电话号码,我只处理两个: 一个办公室号码和一个传真号码”你可以说用户的核心是非规范化的:)
【讨论】: