У меня есть эта настройка (сокращенно для краткости)
Class Employee
virtual IList<ChecklistItem> HasInitialed { get; private set; }
Class ChecklistItem
virtual Employee InitialedBy { get; set; }
Когда это генерируется, я получаю эти таблицы
Employee
Id
ChecklistItem
Id
InitialedBy_id <----
Employee_id <----
ChecklistItem имеет 2 внешних ключа для Employee, я предполагаю Employee_id для сопоставления ChecklistItem.Employee и InitialedBy_id для сопоставления ChecklistItem.InitialedBy. Как я могу сказать NHibernate, что это те же двунаправленные отношения, для которых требуется только 1 внешний ключ?
Я новичок в NHibernate в целом, но похоже, что он должен быть довольно стандартным.
Это то, что я придумал, когда настраивал базу данных для генерации правильной схемы, верно?
.Override<Employee>(map => map
.HasMany<ChecklistItem>(x => x.HasInitialed)
.KeyColumn("InitialedBy_id"))
Если это правильно, есть ли способ выбрать KeyColumn на основе имени свойства ChecklistItem (лямбда)?