查看现有的NHibernate实现,该实现将单个类映射到两个已连接的数据库表。当前功能是只读的。表连接实际上是通过只读视图隐藏的,它是NHibernate映射中引用的视图。适用于只读行为。除了我需要添加插入,更新,删除行为,并且只需要插入/更新/删除其中一个表。怎么做到最好?当然,我可以只读取视图,我可以在NHibernate映射中复制连接,但是如何告诉NHibernate插入/更新/删除仅影响一个表?
谢谢DC
答案 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" />
请注意,您的视图需要定义一个主键才能启用更新或插入。