我有一个引用许多项目的表。在一般视图中,出于明显的性能原因,我不想加载所有这些引用,但在全局视图中,我想加载包含所有引用的同一个表。我尝试将两个类映射到同一张表上,但是在加载表时它会加载这两个类,所以它没有帮助。
以前有人这样做过吗?
我有一个引用许多项目的表。在一般视图中,出于明显的性能原因,我不想加载所有这些引用,但在全局视图中,我想加载包含所有引用的同一个表。我尝试将两个类映射到同一张表上,但是在加载表时它会加载这两个类,所以它没有帮助。
以前有人这样做过吗?
在我看来,您将 Nhibernate 用于域模型和查询/报告。
我会反其道而行之——将 Nhibernate 用于域模型(其中包含引用和逻辑的复杂对象)以及用于显示数据的您最喜欢的数据访问。您可以使用 linq、数据集……这将使您能够灵活地查询您需要的内容。您甚至可以使用流利的 nhibernate 将约定自动映射到某些专门的视图。这样灵活多变……
默认情况下,引用是延迟加载的(即除非实际使用它们,否则它们不会被加载)。
我的建议是你创建一个类。
在任何情况下,如果您只想加载一些属性,您可以使用查询来完成。