【发布时间】:2016-04-13 21:07:30
【问题描述】:
我什至不敢问这个问题,因为我自己觉得整件事都很恶心。但是,您将如何处理遗留数据库。
我有以下三张表
Generator Alarm AlarmDescription
--------- ----- ----------------
Id Id
Id <- GensetId DescriptionText
EventTypeId -> AlarmCode
PanelId ----------------> PanelId
如果从上面的渲染中看不清楚,我有一个警报,它有一个发电机组和一个警报描述。发电机组可通过 GensetId 属性直接映射。 AlarmDescription 也应该很容易从 Id 属性中映射出来吗?但它不是这样设计的,而是从(AlarmCode, PanelId) 的组合映射出来的(注意,它们甚至不共享相同的字段名称,在检查数据之前努力寻找任何关系后发现了这一点)。
那么,您将如何使用 Fluent NHibernate 进行映射?我尝试了几种变体,但都失败了。像下面这样的东西是……理想的,但我认为这样的东西不一定是直接可用的。
References(x => x.AlarmDescription)
.Column("AlarmCode", m => m.EventTypeId)
.Column("PanelId", m => m.Genset.PanelId)
【问题讨论】:
标签: nhibernate fluent-nhibernate nhibernate-mapping