Fuent NHIbernate在同一张桌子上的两个映射,没有鉴别器

Fuent NHIbernate在同一张桌子上的两个映射,没有鉴别器

问题描述:

我有一个引用很多项目的表格。 在通用视图中,由于显而易见的性能原因,我不想加载所有这些引用,但在全局视图中,我希望加载包含所有引用的同一个表。 我试着把两个类映射到同一个表上,但是它在加载表时加载了两个类,所以它没有帮助。Fuent NHIbernate在同一张桌子上的两个映射,没有鉴别器

以前有人做过吗?

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

我的建议是你创建一个类。

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

+0

谢谢你,但它不会是足够的... 我刚刚找到一个解决方案,有点脏,但它的工作,3类。 1个基类,一个扩展了基类,还有一个用于Hibernate的“假”扩展类。否则,加载基类加载扩展类以及... – gougoul 2010-08-13 11:16:30

+0

这是使用NH的错误方式,它会导致其他问题...但这是你的呼叫。 – 2010-08-13 12:03:46

听起来像你使用Nhibernate进行域模型和查询/报告。

我会反过来 - 使用Nhibernate作为领域模型(复杂的对象与参考和逻辑在其中)和您最喜欢的数据访问来显示数据。你可以使用LINQ,数据集......这将使你灵活地查询你需要的东西。你甚至可以使用流利的nhibernate自动映射与约定到一些专业视图。这种方式很多的灵活性...