2016-09-06 2 views
0

Ich versuche, dieses seltsame Mapping-Verhalten von Nhibernate zu verstehen.NHibernate Strange Sequenz Mapping-Verhalten

Ich habe eine Sequenz ID in PostgreSQL und meine mapping.hbm.xml Datei ist dies:

<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> 

Der Fehler, den ich bekommen habe ist

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

Ich habe auch den Generator Typ SEQUENCE aber es gibt mir den gleichen Fehler.

Kann jemand helfen?

Antwort

0

Das Problem war mit der Nhibernate Serialisierung.

ich das Modell JSon wurde Serialisierung und ich war den Code aus diesem Link nicht mit JSON.NET and nHibernate Lazy Loading of Collections

Eigentlich ist dieser Fehler ziemlich seltsam. Meine Abfrage war eine "GET" -Abfrage und wird sich nicht mit der Identitätsgenerierung herumschlagen. Aber selbst damit versuchte Nhibernate eine falsche Identität zu erzeugen und warf mir diese seltsame Ausnahme zu.

Gut. Problem gelöst .. vielleicht ist diese Hilfe jemand :)