1

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>

さまざまなツッツの助けを借りて、初めてこれを乗り越えました。私はすべてを何度か経験しましたが、喜びはありません。ここで間違っている/欠けているアイデアはありますか? ティア!

4

1 に答える 1

0

これ正しいようです。これによると、 「Guid は文字列ではないことを覚えておく必要があります。Guid は 16 バイトのデータ構造です。」期待した結果が得られない理由はわかりませんが、生成された SQL は引用符がないという点で正しいと思います。

于 2010-07-19T18:06:47.527 に答える