开发者

Should NHibernate generate SQL for GUID parameter without quotes?

Sql Server 2008 R2 Express. NHibernate 2.1.2.4.

I get SQL like:

SELECT customer0_.Id as Id1_0_ 
FROM customers cu开发者_JAVA技巧stomer0_ 
WHERE customer0_.Id=@p0;
@p0 = 11111111-1111-1111-1111-111111111111

...which returns 0 records even though there is Customer in there with that Id.

The SQL Server column datatype is UNIQUEIDENTIFIER.

<session-factory> configured as follows:

<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>

Class's <id> configured as follows

<id name="_id" column="Id" type="Guid" access="field" unsaved-value="00000000-0000-0000-0000-000000000000" >
  <generator class="guid.comb" />
</id>

Forging my way through this for the first time, w/ the help of various tuts. I've been over everything several times but no joy. Any ideas what is wrong/missing here? TYIA!


This seems correct. According to this "we must remember that a Guid is not a string even thought that's how we see them. A Guid is a 16-byte data structure." So I'm not sure why you are not getting back the results you expect, but I think the generated SQL is correct in not having the quotes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜