【发布时间】:2011-10-26 04:28:56
【问题描述】:
在 SQL Server 2008 R2 中,给定三个(或更多)一对一相关表的表结构,例如...(CaseId 是公共主键)
案例表: 案例ID Col1 Col2
案例详情表: 案例ID Col1 Col2
案例更多详情表: 案例ID 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
或者,最好将三个表映射到实体,从而确保它可以延迟加载?
【问题讨论】:
标签: sql-server-2008 nhibernate