Fuent NHIbernate同一表上的两个映射,无鉴别器

Fuent NHIbernate同一表上的两个映射,无鉴别器,nhibernate,mapping,fluent,Nhibernate,Mapping,Fluent,我有一个引用了许多项的表。 在常规视图中,出于明显的性能原因,我不希望加载所有这些引用,但在全局视图中,我希望加载具有所有引用的同一个表。 我尝试将两个类映射到同一个表上,但它在加载表时加载这两个类,因此没有任何帮助 以前有人这样做过吗?默认情况下会延迟加载引用,即除非实际使用它们,否则不会加载它们 我的建议是创建一个单独的类 在任何情况下,如果您只想加载一些属性,可以通过查询来完成。听起来您在使用Nhibernate进行域模型和查询/报告 我会用另一种方式来做——使用Nhibernate作为域

我有一个引用了许多项的表。 在常规视图中,出于明显的性能原因,我不希望加载所有这些引用,但在全局视图中,我希望加载具有所有引用的同一个表。 我尝试将两个类映射到同一个表上,但它在加载表时加载这两个类,因此没有任何帮助


以前有人这样做过吗?

默认情况下会延迟加载引用,即除非实际使用它们,否则不会加载它们

我的建议是创建一个单独的类


在任何情况下,如果您只想加载一些属性,可以通过查询来完成。

听起来您在使用Nhibernate进行域模型和查询/报告


我会用另一种方式来做——使用Nhibernate作为域模型,其中包含引用和逻辑的复杂对象,以及用于显示数据的您最喜欢的数据访问。您可以使用linq、数据集。。。这将为您提供查询所需内容的灵活性。您甚至可以使用fluent nhibernate将约定自动映射到某些特定视图。这样做有很大的灵活性…

谢谢,但这还不够。。。我刚刚找到了一个解决方案,有点脏,但它是有效的,3类。1个基类,一个扩展基类,以及一个用于Hibernate的伪扩展类。否则加载基类也会加载扩展类…这是使用NH的错误方式,它会导致其他问题。。。但这是你的决定。