Я боюсь даже задать этот вопрос на самом деле, так как считаю, что все это довольно отвратительно. Но что вы собираетесь делать с устаревшей базой данных.Fluent NHibernate Complex Composite Key Mapping
У меня есть следующие три таблицы
Generator Alarm AlarmDescription
--------- ----- ----------------
Id Id
Id <- GensetId DescriptionText
EventTypeId -> AlarmCode
PanelId ----------------> PanelId
Если это не видно из приведенного выше рендеринга, у меня есть сигнал тревоги, который имеет как GENSET и 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) для такого случая. –