2010-04-19 40 views
2

试图使用FNH来映射视图 - FNH坚持要映射Id属性。然而,并非我所有的观点都有独特的识别专栏。流利的NHibernate查看映射需要Id列

我能解决这个使用XML映射,我可以只是在映射的顶部指定

<id type="int"> 
    <generator class="increment"/> 
</id> 

有什么方法可以在FNH中复制这个...?

回答

0

当时我问这个问题,Fluent NHibernate不支持。其中一名开发人员将其添加为功能,目前我们正在对其进行评估。

0

很确定视图必须是可索引的,但我记得它涉及到设置组合键并确保视图可以是SchemaBound。然后在FNH映射中,你可以指定表名(你可能已经是这个了)和UseCompositeId方法。

+0

当标准NH做我所需要的东西时,看起来有点过分 - 这更多的是如何让FNH复制标准行为的问题。不过谢谢。 – Matt 2010-04-20 13:04:00

+0

取决于您要完成的内容,并且对于只读场景而言,这太过于夸张。另一种选择是简单地在XML中映射您的视图,并跳过这些特定实体的FNH。 – nkirkes 2010-04-20 14:47:48

0
mapping.Id(x => x.ID).GeneratedBy.Increment() 

但可能,我对这个问题的理解是不正确的。

+0

感谢mike,但问题是在x => x.ID中,我的实体类没有ID属性。我确实尝试了一个空的lambda(x => {}),但那也不起作用。尽管干杯! – Matt 2010-04-26 20:31:42