私はすべてがかなりうんざりすることがわかったので、この質問を本当に怖がることすら恐れています。しかし、あなたはレガシーデータベースで何をするつもりですか?それは上記のレンダリングからはっきりしていない場合はFluent NHibernate Complexコンポジットキーマッピング
私は、次の3つのテーブル
Generator Alarm AlarmDescription
--------- ----- ----------------
Id Id
Id <- GensetId DescriptionText
EventTypeId -> AlarmCode
PanelId ----------------> PanelId
を持って、私は発電機セットとAlarmDescriptionの両方を持っているアラームを、持っています。 Gensetは、GensetIdプロパティを介して直接マッピング可能です。 AlarmDescriptionはIdプロパティから簡単にマッピング可能でなければなりません。しかし、それはそのようには設計されておらず、代わりに(AlarmCode, PanelId)
というコンポジットからマッピングされています(データを検査するまでは関係を見つけるのに苦労して同じフィールド名を共有しません)。
このように、Fluent NHibernateを使ってどのようにマッピングしますか?私はいくつかのバリエーションを試しましたが、失敗しました。次のようなものは理想的ですが、このようなものは必ずしも直接利用できるとは思いません。
References(x => x.AlarmDescription)
.Column("AlarmCode", m => m.EventTypeId)
.Column("PanelId", m => m.Genset.PanelId)
数式は、私がやってきた結論です。私はそれを行うためのより魅力的な方法があると思っていました。 – shortstuffsushi
私はそれをマップする方法があるとは思っていませんでした。私は、このような場合には、数式を使用する(またはdbを変更する)以外には、他の解決策を期待していません。 –