में बदल दिया गया था, मुझे किसी डीबी में ऑब्जेक्ट को अपडेट करने का प्रयास करते समय निम्न त्रुटि मिल रही है। क्या किसी को पता है कि क्या हो रहा है? मैंने अपने सभी डेटाटाइप की जांच की है और वे डीबी में क्या है इसके अनुरूप हैं। कोई विचार के लिए धन्यवाद -xxx के उदाहरण के पहचानकर्ता को y से z
NHibernate.HibernateException was unhandled by user code
Message="identifier of an instance of DataTransfer.status was altered from 3 to 4"
Source="NHibernate"
StackTrace:
at NHibernate.Event.Default.DefaultFlushEntityEventListener.CheckId(Object obj, IEntityPersister persister, Object id, EntityMode entityMode)
at NHibernate.Event.Default.DefaultFlushEntityEventListener.GetValues(Object entity, EntityEntry entry, EntityMode entityMode, Boolean mightBeDirty, ISessionImplementor session)
at NHibernate.Event.Default.DefaultFlushEntityEventListener.OnFlushEntity(FlushEntityEvent event)
at NHibernate.Event.Default.AbstractFlushingEventListener.FlushEntities(FlushEvent event)
at NHibernate.Event.Default.AbstractFlushingEventListener.FlushEverythingToExecutions(FlushEvent event)
at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
at NHibernate.Impl.SessionImpl.Flush()
at NHibernate.Transaction.AdoTransaction.Commit()
at DataAccessLayer.NHibernateDataProvider.UpdateItem_temp(items_temp item_temp) in C:\Documents and Settings\Carl.PAMB\My Documents\Visual Studio 2008\Projects\InventoryDataClean\DataAccessLayer\NHibernateDataProvider.cs:line 226
at InventoryDataClean.Controllers.ImportController.Edit(Int32 id, FormCollection formValues) in C:\Documents and Settings\Carl.PAMB\My Documents\Visual Studio 2008\Projects\InventoryDataClean\InventoryDataClean\Controllers\ImportController.cs:line 101
at lambda_method(ExecutionScope , ControllerBase , Object[])
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException:
मेरी log4net लॉग से - यहाँ
item.status.id = Int32.Parse(formValues["Status"]);
_provider.UpdateItem_temp(item);
और मेरे डेटा प्रदाता से कोड है -
13:37:17 [9] DEBUG NHibernate.Event.Default.DefaultSaveOrUpdateEventListener - object already associated with session: [DataTransfer.items_temp#56876]
इसके अलावा, यहाँ है, जहां यह कहा जाता है।
public void UpdateItem_temp(items_temp item_temp)
{
ITransaction t = _session.BeginTransaction();
try
{
_session.SaveOrUpdate(item_temp);
t.Commit();
}
catch (Exception)
{
t.Rollback();
throw;
}
finally
{
t.Dispose();
}
}
+1। हम वास्तव में दूसरे भाग के बारे में नहीं जानते हैं क्योंकि कोई डेटा ऑब्जेक्ट परिभाषा पोस्ट नहीं की गई थी, लेकिन यह समस्या के लिए काफी हद तक अप्रासंगिक है। –
यह टिकट है - पूरी तरह से काम किया। धन्यवाद – czuroski
+1। काश मैं इसे जल्द पाया। –