Объект A
имеет связь один-ко-многим: много объектов B
.
Когда я просматриваю базу данных - TableB
- я хотел бы видеть уникальную читаемую строку A.Name
вместо того, чтобы всегда иметь возможность присоединяться или выбирать дополнительный суррогатный целочисленный идентификатор, чтобы увидеть имя.
Я могу отобразить Name
в качестве идентификатора для A
, но это вызывает множество дополнительных SELECT
запросов, потому что NHibernate не может определить, является ли экземпляр A
временным или постоянным.
Я полагаю, что я мог бы использовать составной ключ, комбинируя суррогатный ключ, назначенный родным, и естественный ключ. Это кажется неоптимальным, но я бы хотел услышать некоторые мнения.
Что мне действительно нужно, так это стратегия использования естественного ключа из одного столбца, позволяющая NHibernate идентифицировать временные экземпляры.
- Возможно ли это?
- Что такое отображение - свободно или hbm?
С другой стороны, если это все ужасная идея, и я должен просто полагаться на представления базы данных с подвыборками, объясните, пожалуйста.
Спасибо.