我正在尝试为现有的大型系统实现 nHibernate 映射。试图映射两个对象之间的关系。一个对象是“附件”,它与系统中的许多不同对象有关。因此,在数据库中,它有两列用于关联自身
物品种类
项目 ID
如果我有一个带有附件的产品,那么 ProductId = ItemId 和 ItemType 将是一个预定义的值,例如“0001”,其中用户对象可能是“0002”,订单可能是“0003”,以此类推。
现在我需要在 nhibernate 中映射它。所以我想在产品对象上有一个附件集合,但这意味着将它映射到 ItemId 和 ItemType
如果它只是需要的 ItemId 映射,它可以做
HasMany(x => x.Attachments).KeyColumn("ProductId");
但相反,我需要将其映射到附件表中 KeyColumn“ProductId”和 ItemType 等于“0001”的位置
我怎么能这样……?
结构产品表
[产品]
产品编号
姓名
描述
附表
[附件]
附件网址
项目 ID
物品种类