У меня есть справочная / справочная таблица, основная цель которой - предоставить пользователю список существующих опций. У пользователя также будет возможность вводить новые элементы в список. Как бы вы отобразили это в NHibernate?
Например, скажем, у меня есть класс Address с полем City. База данных имеет адресную таблицу и справочную таблицу города. (Я могу определить отношения так, как я хочу на этом этапе.) При редактировании адреса:
- Пользователь может выбрать любой доступный Город или ввести новый Город.
- Введенный новый город должен быть добавлен в таблицу поиска.
- Редактирование города экземпляра Address должно либо изменить ссылку - если отредактированный город также существует в БД - либо создать новую запись City с этим именем и обратиться к ней. (Если я изменю «Чикаго» на «Нью-Йорк», я не хочу, чтобы все адреса в Чикаго сменились на Нью-Йорк; только на тот, на который я смотрю.)
Я изучал документы NHib и совершенно не уверен, какой подход выбрать.
EDIT:
Часть моей проблемы связана с тем, что я пытаюсь избежать создания класса "City" с одним свойством - я бы просто хотел, чтобы Address.City был строкой в доменной модели. Это может быть неразумно, я не знаю.