2016-09-06 7 views
0

このnhibernateのこの奇妙なマッピング動作を理解しようとしています。NHibernateの不思議なシーケンスマッピングの振る舞い

私は、PostgreSQLのシーケンスIDを持って、私のmapping.hbm.xmlファイルはこれです:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
     <class xmlns="urn:nhibernate-mapping-2.2" schema="core" name="Tecplas.Data.Models.Core.User, Tecplas.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" table="usuario"> 
     <id name="Id" type="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_identi" /> 
      <generator class="native"> 
      <param name="sequence">seq_usuario</param> 
      </generator> 
     </id> 
     <property name="CreatorProgram" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_prog_criacao" /> 
     </property> 
     <property name="CreationDate" type="System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_data_criacao" /> 
     </property> 
     <property name="UpdateProgram" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_prog_alteracao" /> 
     </property> 
     <property name="UpdateDate" type="System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_data_alteracao" /> 
     </property> 
     <property name="Login" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_login" /> 
     </property> 
     <property name="Password" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <column name="usu_senha" /> 
     </property> 
     <many-to-one class="Tecplas.Data.Models.Core.User, Tecplas.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="CreatorUser"> 
      <column name="usu_usu_criacao" /> 
     </many-to-one> 
     <many-to-one class="Tecplas.Data.Models.Core.User, Tecplas.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="UpdateUser"> 
      <column name="usu_usu_alteracao" /> 
     </many-to-one> 
     </class> 
    </hibernate-mapping> 

私は取得していますエラーが、私はまたに発電機の種類を変更し

"Dialect does not support identity key generation" 
    .... em NHibernate.Dialect.Dialect.get_IdentitySelectString()\r\n em GetIdentitySelectString(Object) 

ですSEQUENCEでも同じエラーが出ます。

誰でも手助けできますか?

答えて

0

問題は、nhibernateのシリアライゼーションにありました。

実はこのエラーは、非常に奇妙である私は、JSONにモデルをシリアライズだったと私は、このリンクJSON.NET and nHibernate Lazy Loading of Collections

からのコードを使用していませんでした。私のクエリは「GET」クエリであり、ID生成を混乱させません。しかし、これでも、nhibernateは間違ったアイデンティティを生成しようとしていて、私にこの奇妙な例外を投げかけました。

問題が解決しました..多分このヘルプの誰か:)

関連する問題