【发布时间】:2014-01-06 00:07:46
【问题描述】:
我们正在试验 DevExpress XAF 和 XPO,以便将其用于我们进一步开发现有的小型企业 ERP 系统。我们有一个 SQL 数据库,不能更改现有表。我们正在尝试做的是仅将新的所需表属性添加到新表中,然后应该通过对象继承“连接”到旧表(MapInheritanceType.OwnTable)。
例如:
我们有一个旧版 tCustomer 表。现在我们添加一个 XPO 对象 tCustomerExtended 像
public class tCustomerExtended : test.Module.BusinessObjects.db.tCustomer ...
tCustomerExtended 类随后应使用新属性进行扩展,tCustomer 类保持不变(以便旧客户端应用程序使用)。
这当然可以。使用主键 kCustomer(遗留表的键)生成一个新表 tCustomerExtended。 XAF 还按预期生成 UI:tCustomerExtended 视图是空的,因为它显示了 tCustomerExtended 条目。
!!!但我们真正想要实现的是在此视图中显示所有现有的tCustomer 条目以及tCustomerExtended 的新属性。然后 OnSaving 方法应将旧属性保存到 tCustomer 并将新属性保存到 tCustomerExtended。我们还必须生成一个 kCustomer 密钥,因为旧的 tCustomer 表 kCustomer PK 没有身份规范。
目前我不知道如何在不更改旧的tCustomer 的情况下实现这一点(绝对不允许这样做)。
【问题讨论】:
标签: c# devexpress xpo xaf