[英]NHibernate and MS SQL function NEWSEQUENTIALID() to generate an ordered GUID
[英]Should NHibernate generate SQL for GUID parameter without quotes?
SQL Server 2008 R2 Express。 NHibernate 2.1.2.4。
我得到像這樣的SQL:
SELECT customer0_.Id as Id1_0_
FROM customers customer0_
WHERE customer0_.Id=@p0;
@p0 = 11111111-1111-1111-1111-111111111111
...即使其中存在帶有該ID的客戶,也將返回0條記錄。
SQL Server列的數據類型為UNIQUEIDENTIFIER。
<session-factory>
配置如下:
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
類的<id>
配置如下
<id name="_id" column="Id" type="Guid" access="field" unsaved-value="00000000-0000-0000-0000-000000000000" >
<generator class="guid.comb" />
</id>
借助各種tut,我第一次在此過程中邁出了第一步。 我已經經歷過好幾次了,但是沒有喜悅。 任何想法哪里錯了/這里沒有? TYIA!
這似乎是正確的。 根據這種說法,“我們必須記住,GUID甚至不是字符串,甚至認為這就是我們看到的字符串。GUID是一個16字節的數據結構。” 因此,我不確定您為什么不找回期望的結果,但是我認為生成的SQL在沒有引號的情況下是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.