У меня есть два класса, сопоставленные с использованием беглого NHibernate - User и UserRoleAssignment.Пользователь имеет много UserRoleAssignments.Вот соответствующая карта для пользователя:
HasMany(x => x.Roles)
.Table("UserRoleMap")
.Cascade.SaveUpdate();
А для UserRoleAssignment:
Map(x => x.User_Id);
Как видите, я ссылаюсь только от User на UserRoleAssignment.Из UserRoleAssignment я только сопоставляю столбец внешнего ключа (User_Id).Проблема в том, что когда я сохраняю пользователя, я получаю исключение, вызванное ограничением внешнего ключа, потому что NHibernate вставляет 0 в значение для свойства User_id.Это происходит только для новых пользователей - существующих пользователей (у которых уже есть идентификатор), работает нормально.
Итак, вопрос в том, как я могу убедиться, что NHibernate устанавливает значение User_Id на идентификатор, сгенерированный при вставкеновый пользователь?
Большое спасибо!