0

オブジェクトをDBにマップするためにNHibernateを使用しています。これらのオブジェクトの 1 つは「添付ファイル」と呼ばれます。その ID は、MS SQL Server 2008 の「newsequentialid」を使用して (既定値またはバインドとして) 生成され、id 列の Guid を作成します。

今私が欲しいのは、新しい添付ファイルが挿入されると、NHibernate は SQL Server が newsequentialid を使用して Guid を作成できるようにすることです。問題は、IDが設定されていない新しい添付ファイルを保存しようとすると、例外「null identifier」が発生し続けることです(Guid.Empty)

ここに私のHBMファイルがあります:

<class name="DataObjects.Services.NHAttachment, DataObjects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" mutable="false" table="Attachments">
    <id name="Id" column="Guid" type="Guid" >
      <generator class="native"  />
    </id>.....

ご覧のとおり、ID はジェネレーター クラスをネイティブとして設定されています。

事前にすべての助けをありがとう!! :)

4

2 に答える 2

0

データベース スキーマに GUID を作成するよう NHibernate に指示する場合は、次のようにするとよいと思います。

<id name="Id" column="Guid" type="Guid">
  <generator class="guid" />
</id>
于 2012-05-24T12:10:07.790 に答える