i checked the similar questions before but didn't found an answer for my problem.
Exception:
Error dehydrating property value for webportale_ger_webservice.Model.SPTPL.SUMANZAUFTRAEGE NHibernate.PropertyValueException
But webportale_ger_webservice.Model.SPTPL.SUMANZAUFTRAEGE is only one of the values which are throwing this exception.
StackTrace:
bei NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id, Object[] fields, Object rowId, Boolean[] includeProperty, Boolean[][] includeColumns, Int32 table, IDbCommand statement, ISessionImplementor session, Int32 index)
bei NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
bei NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
bei NHibernate.Action.EntityInsertAction.Execute()
bei NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
bei NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
bei NHibernate.Engine.ActionQueue.ExecuteActions()
bei NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
bei NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
bei NHibernate.Impl.SessionImpl.Flush()
bei NHibernate.Transaction.AdoTransaction.Commit()
bei webportale_ger_webservice.web_api.SP_WRITE_Sperrmuellanmeldung(String vornameStr, String nachnameStr, String strasseStr, String hnrzusatzStr, Int32 hausnrStr, String plzStr, String ortStr, String mailStr, String dateStr, String telStr, String argef, String gef_menge, String bemerkungStr, String arstrasse, String arplz, String annahme_art, String benachrichtigung) in C:\Quellen\VSWebNeoBackEnd\VSWebNeoBackEnd\VSWebNeoBackEnd\project india webservice\webportale_ger_webservice.asmx.cs:Zeile 615.
InnerException:
The index was out of range. It can not be negative and smaller than the listing.
Parameter name: index
StackTrace of InnerException:
bei System.Collections.ArrayList.get_Item(Int32 index)
bei Oracle.ManagedDataAccess.Client.OracleParameterCollection.GetParameter(Int32 index)
bei NHibernate.Type.Int32Type.Set(IDbCommand rs, Object value, Int32 index)
bei NHibernate.Type.NullableType.NullSafeSet(IDbCommand st, Object value, Int32 index, Boolean[] settable, ISessionImplementor session)
bei NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id, Object[] fields, Object rowId, Boolean[] includeProperty, Boolean[][] includeColumns, Int32 table, IDbCommand statement, ISessionImplementor session, Int32 index)
My Class and Mapping:
sptpl.cs(clipping):
public class SPTPL
{
...
public virtual STRASSE STRASSE { get; set; }
...
public virtual int JAHR { get; set; }
public virtual int DISPOJAHR { get; set; }
public virtual int SUMANZAUFTRAEGE { get; set; }
public virtual double KARSTRASSE { get; set; }
}
sptpl.hbm.xml (clipping):
<class name="SPTPL" table="SPTPL" lazy="false" >
<many-to-one name="STRASSE">
<column name="L_ARSTRASSE" not-null="false" />
</many-to-one>
...
<property name="SUMANZAUFTRAEGE">
<column name="SUMANZAUFTRAEGE" not-null="false" />
</property>
<property name="JAHR">
<column name="JAHR" not-null="false" />
</property>
<property name="DISPOJAHR">
<column name="DISPOJAHR" not-null="false" />
</property>
<property name="KARSTRASSE">
<column name="KARSTRASSE" not-null="false" />
</property>
And this is where I use it:
KUNDE kunde = session.Load<KUNDEN>(kundenAr);
STRASSE kunde_strasse = session.Load<STRASSE>(kunde.STRASSE.AR);
var sperrmuell = new SPTPL { DATUM = datum, OBJEKTE = objekte, KUNDEN =
kunde, ANSPR_EMAIL = kunde.EMAIL1, KARSTRASSE = kunde_strasse.AR,...
ANSPR_NAME2 = nachnameStr, ANSPR_NAME1 = vornameStr,
SUMANZAUFTRAEGE = 1, JAHR = jahr, DISPOJAHR = 0 };
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(sperrmuell);
transaction.Commit();
}
These are only clippings, so if you need more Code, tell me. I really don't know what's the problem. Anybody has a clue?