如果想要插入视图,需要在NHibernate上设置以允许这样做。
无论
<generator class="identity" />
,也不
<generator class="native" />
允许插入。
我尝试这个时遇到的错误是“Null id”或“Null identifier”。
答案 0 :(得分:1)
即使使用常规SQL命令也不能使用NHiberanate从视图中插入,更新或删除。视图专为只读目的而设计。 您应该以与视图类似的方式从原始表中为您的类建模,然后您可以对其进行任何CRUD操作。
答案 1 :(得分:1)
我从来没有这样做,但你尝试过分配: -
<generator class="assigned" />
任何修改,包括UPDATE,INSERT和DELETE语句, 必须仅从一个基表引用列。
有关详细信息,请参阅此处MSDN
如果您使用已分配,还有一件事,您必须通过调用ISession的Save()或Update()方法来显式指定NHibernate是否应保存或更新对象。