NHibernate插入...选择...,其中GUID为PrimaryKey [英] NHibernate Insert into ... select ... with GUID as PrimaryKey
问题描述
我尝试让NHibernate放松一下:
I try to do fallowing with NHibernate:
this.Session.CreateQuery(@"insert into ContactGroupContact (Id, MailAddress, Company, Person, Branch, ContactGroup, User, FaxNumber)
select newid(), MailAddress, Company, Person, Branch,
:destContactGroupId, User, FaxNumber
from ContactGroupContact cgc
where cgc.ContactGroup.Id = :contactGroupId")
.SetEntity("destContactGroupId", tempContactGroup)
.SetGuid("contactGroupId", contactGroupId)
.ExecuteUpdate();
ContactGroupContact
的列Id
的类型为GUID
.
执行此操作时,我得到一个带有以下消息的NHibernate.QueryException
:
When I execute this, I get a NHibernate.QueryException
with the following message:
节点无数据类型:MethodNode((newid exprList)[插入 ContactGroupContact(ID,邮件地址,公司,人员,分支机构, 联系人组,用户,传真号码) 选择newid(),MailAddress,Company,Person,Branch,:destContactGroupId,User,FaxNumber 来自ContactGroupContact cgc 其中cgc.ContactGroup.Id =:contactGroupId]
No data type for node: MethodNode ( ( newid exprList ) [insert into ContactGroupContact (Id, MailAddress, Company, Person, Branch, ContactGroup, User, FaxNumber) select newid(), MailAddress, Company, Person, Branch, :destContactGroupId, User, FaxNumber from ContactGroupContact cgc where cgc.ContactGroup.Id = :contactGroupId]
有人可以帮助我,怎么了? -谢谢.
Can someone help me, what is going wrong? - Thanks.
推荐答案
尝试创建派生的Dialect
并将newid
注册为函数.
Try creating a derived Dialect
and registering newid
as a function.
这篇关于NHibernate插入...选择...,其中GUID为PrimaryKey的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!