Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nhibernate 单类映射到两个表联接_Nhibernate_Nhibernate Mapping - Fatal编程技术网

Nhibernate 单类映射到两个表联接

Nhibernate 单类映射到两个表联接,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,查看一个现有的NHibernate实现,该实现将单个类映射到连接的两个数据库表。当前功能是只读的。表连接实际上是通过只读视图隐藏的,它是NHibernate映射中引用的视图。适用于只读行为。除了我需要添加Insert、Update、Delete行为外,只有一个表需要插入/更新/删除。如何最好地做到这一点?当然,我可以在NHibernate映射中复制连接,但是我如何告诉NHibernate insert/update/delete只影响一个表呢 感谢DC,您可以映射到视图而不是表,然后为插入、更新

查看一个现有的NHibernate实现,该实现将单个类映射到连接的两个数据库表。当前功能是只读的。表连接实际上是通过只读视图隐藏的,它是NHibernate映射中引用的视图。适用于只读行为。除了我需要添加Insert、Update、Delete行为外,只有一个表需要插入/更新/删除。如何最好地做到这一点?当然,我可以在NHibernate映射中复制连接,但是我如何告诉NHibernate insert/update/delete只影响一个表呢


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

见文件:


我经常使用这种技术,效果很好。

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

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

请记住,视图需要定义一个主键才能启用更新或插入