У меня есть несколько таблиц в моей БД, называетсяСинтетические классы в NHibernate
UserMatchCriteria
UserMatchLifestyle
UserHobby
Теперь первые два имеют запись однолинейной каждый идентификатор пользователя, но третья таблица может содержать от 0 до 100 записей в зависимости от хобби, который выбрал пользователь.
Я хочу иметь в коде C# объект, называемый как UserSearchDetails, который содержит один объект UserMatchCriteria, один объект UserMatchLifestyle и коллекцию IList, которая содержит ноль или более объектов UserHobby.
Моя проблема в том, что я не хочу привязывать таблицу пользователя к привязке к ней при каждой загрузке, так как это большие накладные расходы, которые мне почти не нужны во всех случаях использования, которые у меня есть для пользовательского объекта. Я хочу, чтобы данные поиска загружались отдельно в объекте UserSearchDetails, который не имеет связанной с ним таблицы DB. Очевидно, что я могу использовать NHibernate, чтобы делать вещи, такие как
<one-to-one name=UserMatchCriteria>
<one-to-one name=UserMatchLifestyle>
<bag name=Hobbies........... />
и т.д., но без базовой таблицы для запуска первоначальный выбор выключен, и предоставить мне UserId, я не уверен, в каком контексте использовать эти записи.
Нужно ли создать другую таблицу с именем UserSearchDetails только с одной записью для UserId in, чтобы использовать ее в качестве базовой таблицы, которая затем соединяется с другими таблицами через PK UserId?
Или есть другой способ достичь того, что я пытаюсь сделать здесь?