У меня есть пользовательский объект со свойством IList. Отображение для
это выглядит так:
HasMany(x => x.Forms)
.Cascade.None()
.AsBag().KeyColumn("Supervisor")
.Key(key => key.Not.Update())
.PropertyRef("Email");
Теперь у меня есть новый запрос, который по существу добавляет еще один
KeyColumn, который также должен заполнить это свойство. По существу,
каждая форма может иметь «супервизор» и «альтернативный», и мне это нужно
свойство для заполнения любых форм, где User.Email
равно
один (формируется у пользователя, если User.Email == Form.Supervisor OR User.Email == Form.Alternate
).
Есть ли способ сделать это? Просто добавив еще один KeyColumn
спецификация просто переопределяет предыдущую и добавляет ключи
* * * * * * * * * * * * * * * * * * метод Keys()
не позволяет использовать несколько ключевых столбцов, таких как I
хочу ... я ищу способ по существу сказать, что это
связь должна быть найдена с WHERE Superviser = Email OR Alternate = Email
, но, похоже, она не поддерживает это предложение OR
...
Мой другой вариант, по сути, дублирует это отображение, но для «Альтернативы» в другом свойстве, а затем объединяет коллекции в моем потребляющем коде, но я хотел посмотреть, был ли NHibernate достаточно умен, чтобы это было возможно ...
Есть предложения?