المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : NHibernate problem with inserting data: error performing isolated work [modified]



C# Programming
02-10-2010, 04:42 PM
Hi

I'm newbie in NHibernate. I've downloaded example from: https://www.hibernate.org/379.html[^ (https://www.hibernate.org/379.html)]

I can retreive data from database via iquery but i have a problem when I try save data.
Here is code:

Supplier supplier = new Supplier();
supplier.Name = "Supplier5";


Manufacturer manufacturer = new Manufacturer("manufacturer5");

Product product = new Product();
product.Name = "product5";

product.Supplier = supplier;
supplier.ProductList.Add(product);
manufacturer.ProductSet.Add(product);
product.ManufacturerSet.Add(manufacturer);

ITransaction transaction = Session.BeginTransaction();

try
{
/*IQuery query = Session.CreateQuery("from Supplier as s order by s.Name asc");
IList lSuppliers = query.List();
foreach (Supplier supplier in lSuppliers)
{
string name = supplier.Name;
}*/ // here ok

Session.Save(supplier); //error

transaction.Commit();
}
catch (NHibernate.HibernateException nexp)
{
}

I've got an error:
error performing isolated work
InnerException: {"Object reference not set to an instance of an object."}

Here is mapping file supplier.hbm.file:

</span span class="code-SummaryComment"version/spanspan class="code-keyword"="/spanspan class="code-keyword"1.0"/span span class="code-SummaryComment"encoding/spanspan class="code-keyword"="/spanspan class="code-keyword"utf-8"/spanspan class="code-SummaryComment"?/spanspan class="code-SummaryComment">




hibernate_unique_key
next_hi
10









from Supplier


StackTrace:

" at NHibernate.Transaction.AdoNetTransactionFactory.ExecuteWorkInIsolation(ISessionImplementor session, IIsolatedWork work, Boolean transacted)\r\n at NHibernate.Transaction.AdoNetWithDistrubtedTransactionFactory.ExecuteWorkInIsolation(ISessionImpleme ntor session, IIsolatedWork work, Boolean transacted)\r\n at NHibernate.Engine.Transaction.Isolater.DoIsolatedWork(IIsolatedWork work, ISessionImplementor session)\r\n at NHibernate.Engine.TransactionHelper.DoWorkInNewTransaction(ISessionImplementor session)\r\n at NHibernate.Id.TableGenerator.Generate(ISessionImplementor session, Object obj)\r\n at NHibernate.Id.TableHiLoGenerator.Generate(ISessionImplementor session, Object obj)\r\n at NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)\r\n at NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdat eEvent event)\r\n at NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)\r\n at NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event)\r\n at NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event)\r\n at NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event)\r\n at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)\r\n at NHibernate.Impl.SessionImpl.Save(Object obj)\r\n at NHibernateExampleApp.Form1.NHTest() in D:\\rg\\proj_CSharp\\NHibernateExampleApp\\NHibernateExampleApp\\Form1.cs:line 136"

I can see that is a problem with hilo.
I have table: hibernate_unique_key
Column next_hi has value 0

Could someone help me?

ThanksI
modified on Tuesday, February 9, 2010 1:44 AM