Ленивая загрузка NHibernate в сценарии только для чтения / хранилища - PullRequest
0 голосов
/ 25 октября 2011

В 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

Или было бы лучше отобразить тритаблицы для сущностей и, следовательно, обеспечить его ленивую загрузку?

1 Ответ

1 голос
/ 26 октября 2011

Отображение один к одному не поддерживает отложенную загрузку AFAIK. То же самое для вида, если вы отображаете вид, который вставляете в вид, для всех соединений, поэтому нет никакой возможности лениво загрузить ассоциации. Попробуйте указать связанные части как <many-to-one> связь в основном объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...