单个类映射到两个表连接

时间:2010-06-22 00:02:39

标签: nhibernate nhibernate-mapping

查看现有的NHibernate实现,该实现将单个类映射到两个已连接的数据库表。当前功能是只读的。表连接实际上是通过只读视图隐藏的,它是NHibernate映射中引用的视图。适用于只读行为。除了我需要添加插入,更新,删除行为,并且只需要插入/更新/删除其中一个表。怎么做到最好?当然,我可以只读取视图,我可以在NHibernate映射中复制连接,但是如何告诉NHibernate插入/更新/删除仅影响一个表?

谢谢DC

2 个答案:

答案 0 :(得分:0)

您可以映射到视图而不是表,然后为插入,更新和删除定义自定义sql。 我建议调用存储过程。

请参阅文档:http://nhibernate.info/doc/nh/en/index.html#querysql-cud

我已经使用了很多这种技术而且效果很好。

答案 1 :(得分:0)

您可以将property mappings上的更新和插入属性设置为false,它们将从更新和插入中排除:

<property name="MyProperty" update="false" insert="false" />

请注意,您的视图需要定义一个主键才能启用更新或插入。