У меня есть коллекция, сопоставленная как свойство только для запроса, следующее Пример Ayende . Мое отображение:
HasMany<Employee>(Reveal.Member<Company>("_employees")).Access.None();
Это работало нормально, за исключением случаев, когда я загружаю Компанию, внешний ключ Employee.CompanyId обновляется до нуля. Это происходит, даже если я не обновляю Company, и сгенерированный SQL включает только CompanyId в список обновлений, хотя я не назначил сотрудника для обновления только измененных свойств.
Я попытался использовать NoOp
(я думаю, это синонимы) и объявить коллекцию сотрудников как публичное свойство, а не как частное поле. Я наконец смог исправить это, изменив отображение на:
HasMany (Reveal.Member ( "_ сотрудников")) Access.None () Not.KeyUpdate ();..
Какова цель KeyUpdate и каково эквивалентное сопоставление XML? Почему это необходимо для свойства только для запроса? Я предполагал, что установка доступа к none или noop предотвратит любые изменения.