簡體   English   中英

NHibernate是否應為GUID參數生成不帶引號的SQL?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM