Fuent NHIbernate在同一张桌子上的两个映射,没有鉴别器
问题描述:
我有一个引用很多项目的表格。 在通用视图中,由于显而易见的性能原因,我不想加载所有这些引用,但在全局视图中,我希望加载包含所有引用的同一个表。 我试着把两个类映射到同一个表上,但是它在加载表时加载了两个类,所以它没有帮助。Fuent NHIbernate在同一张桌子上的两个映射,没有鉴别器
以前有人做过吗?
答
默认情况下,引用会被延迟加载(即,除非实际使用,否则它们不会被加载)。
我的建议是你创建一个类。
在任何情况下,如果您只想加载一些属性,可以使用查询来完成。
答
听起来像你使用Nhibernate进行域模型和查询/报告。
我会反过来 - 使用Nhibernate作为领域模型(复杂的对象与参考和逻辑在其中)和您最喜欢的数据访问来显示数据。你可以使用LINQ,数据集......这将使你灵活地查询你需要的东西。你甚至可以使用流利的nhibernate自动映射与约定到一些专业视图。这种方式很多的灵活性...
谢谢你,但它不会是足够的... 我刚刚找到一个解决方案,有点脏,但它的工作,3类。 1个基类,一个扩展了基类,还有一个用于Hibernate的“假”扩展类。否则,加载基类加载扩展类以及... – gougoul 2010-08-13 11:16:30
这是使用NH的错误方式,它会导致其他问题...但这是你的呼叫。 – 2010-08-13 12:03:46