【发布时间】:2011-04-08 16:05:37
【问题描述】:
我正在尝试将 Linq-to-SQL 实现为 DDD 项目中的数据访问技术(ORM 工具)。 L2S 不是我的选择,但它是我必须使用的(目前)。
在 DDD 之后,我已经创建了我的域模型,它与我的规范化数据库架构不匹配。 (这里没有什么不寻常的)。我正在尝试实现 L2S 以使用我的域对象作为 POCO,使用外部 XML 映射文件作为我的 DataContext 的 MappingSource。在我遇到更复杂的映射之前,所有这些都很好。
在我的域层中,我有一个 Appointment 类,它有一个 Recurrence 类型的子属性。 Recurrence 是一个基类,实际实现由各种子类提供,具体取决于循环模式的类型。从代码中,我可以使用 RecurrenceFactory 类创建适当的子类。但是,在我的数据库中,我只有一个 Appointment 表,它有两列:RecurrenceType 和 RecurrenceValue。
如何设置 XML 映射文件以使用 RecurrenceFactory 使用数据库中的 RecurrenceType 和 RecurrenceValue 列创建适当的子类?
如果这不可行,那么我必须完全改变我的实施方向。感谢您的想法!
【问题讨论】:
标签: linq-to-sql domain-driven-design poco