У меня проблема с сохранением в объектах сеанса, созданных в самый первый раз ...
Каждый объект имеет список шагов, а каждый шаг - список значений. (Я использую инверсии на отображениях). Также сущности и шаги ссылаются на основные значения уже в БД. Таким образом, существует некая смесь старых и новых объектов.
Когда я делаю первое сохранение, я делаю Session.Save(entity)
, и все дерево сохраняется в базе данных.
Проблема заключается в том, что профилировщик предупреждает о таких сообщениях, как
Невозможно определить, является ли StepValueEntity с назначенным идентификатором ede6a5ee-b4bd-4f67-9c64-11ef85b7d6ff временным или отключенным; запрос к базе данных. Чтобы избежать этого, используйте явные Save () или Update () в сеансе.
потому что nhibernate делает много обновлений, прежде чем начать действительно вставлять вещи.
Что я делаю неправильно?
Я пробовал что-то вроде итерации каждого шага, а значение и простота сохраняли его, но происходит то же самое.
Edit:
Вот как я делаю сопоставление для столбцов идентификаторов, возможно, это не дает подсказке nhibernate узнать о новых и уже существующих сущностях, и я должен сделать это по-другому.
Id(x => x.Id).Column("GUID_PIPELINE_STEP_PARAMETER").GeneratedBy.Assigned();
Привет