В SQL Server 2008 R2 дана структура таблицы из трех (или более) связанных таблиц один к одному, например ... (CaseId - это общий первичный ключ)
CaseTable: CaseId Col1 Col2
CaseDetailTable: CaseId Col1 Col2
CaseMoreDetailTable: CaseId Col1 Col2
Затем поместите вид поверх него, например,
CREATE VIEW MyView
SELECT CaseTable.Col1 AS CaseCol1, CaseDetailTable.Col1 AS CaseDetailCol1,
CaseMoreDetailTable.Col1 AS CaseMoreDetailCol1
FROM CaseTable
INNER JOIN CaseDetailTable
ON CaseTable.CaseId = CaseDetailtable.CaseId
INNER JOIN CaseMoredetailTable
ON CaseTable.caseId = caseMoreDetail.CaseId
Теперь, если я сопоставлюNHibernate для представления будет иметь возможность ленивой загрузки через представление, а не, например, выбирать данные из CaseMoreDetail, если представление вызывалось с помощью ...
SELECT CaseCol1, CaseDetailCol1
FROM MyView
Или было бы лучше отобразить тритаблицы для сущностей и, следовательно, обеспечить его ленивую загрузку?