Моя проблема заключается в обновлении объекта через форму редактирования со ссылкой на другой объект, представленный в раскрывающемся списке. Я использую ASP.NET MVC 2. Детали:
Public Class Category
{
int Id { get; set;}
string Name { get; set}
Category Parent { get; set}
}
- Страница редактирования для категории, созданной с помощью
EditorFor
- Страница редактирования содержит раскрывающийся список для выбора родительской категории с именем / идентификатором =
Parent.Id
- В раскрывающемся списке есть запись none для
value=''
(для категорий без родителя).
Процесс обновления в действии:
- Текущий объект, извлеченный из хранилища по идентификатору.
- TryUpdateModel, примененный к извлеченной сущности
Проблема:
Когда передается отредактированная категория, если в раскрывающемся списке задано значение «none», создается новый объект для «parent», когда он пытается обновить parent.id. Это вызывает проблемы при сохранении через ORM.
Итак, что делать в этой ситуации? Есть ли способ остановить создание экземпляра «родительского» объекта и оставить родительскую ссылку пустой?
Спасибо.
Обновление:
Я использую NHibernate в качестве своего ORM, на случай, если это будет полезно.