【发布时间】:2010-04-15 20:19:52
【问题描述】:
我的域实体每个都有一组“固定”属性和一组可以在运行时添加的“动态”属性。我使用 NHibernate 的动态组件功能来处理这个问题。
public class Product {
public virtual Guid Id { get; }
public virtual string Name { get; set;}
public virtual IDictionary DynamicComponents { get; }
}
现在我有以下情况
public class Customer {
public virtual Guid Id { get; }
public virtual string Type { get; set;}
public virtual IDictionary DynamicProperties { get; }
}
CustomerType 类似于 "Online" 或 "InPerson"。此外,在线客户具有动态属性 "Name" 和 "IPAddress",而 InPerson 客户具有动态属性 "Name" 和 "推销员”。
哪些客户类型可用,它们的额外属性在元数据中配置,用于在应用程序启动时生成 hbm 文件。
我可以想办法使用中间 DTO 层将其组合在一起,但是 NHibernate 是否支持这种情况?唯一的困难似乎是所有不同“类型”的客户都映射到同一个客户类。
【问题讨论】:
标签: nhibernate