NHibernate.MappingException при вставке таблицы - PullRequest
0 голосов
/ 14 января 2011

Структура таблицы:

alt text

Действие контроллера для вставки строки в таблицу: public bool CreateInstnParts (строковые данные) { IDictionary myInstnParts = DeserializeData (data);

        try
        {
            HSInstructionPart objInstnPartBO = new HSInstructionPart();
            using (ISession session = Document.OpenSession())
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    objInstnPartBO.DocumentId = Convert.ToInt32(myInstnParts["documentId"]);
                    objInstnPartBO.InstructionId = Convert.ToInt32(myInstnParts["instructionId"]);
                    objInstnPartBO.PartListId = Convert.ToInt32(myInstnParts["part"]);
                    objInstnPartBO.PartQuantity = Convert.ToInt32(myInstnParts["quantity"]);
                    objInstnPartBO.IncPick = Convert.ToBoolean(myInstnParts["incpick"]);
                    objInstnPartBO.IsTracked = Convert.ToBoolean(myInstnParts["istracked"]);

                    objInstnPartBO.UpdatedBy = User.Identity.Name;
                    objInstnPartBO.UpdatedAt = DateTime.Now;
                    session.Save(objInstnPartBO);

                    transaction.Commit();
                }
                return true;
            }
        }
        catch (Exception ex)
        {
            Console.Write(ex.Message);
            return false;
        }
    }

Это исключение

NHibernate.MappingException был пойман Сообщение = "Не сохранять для: Hexsolve.Data.BusinessObjects.HSInstructionPart" Источник = "NHibernate" Трассировки стека: в NHibernate.Impl.SessionFactoryImpl.GetEntityPersister (String entityName) в NHibernate.Impl.SessionImpl.GetEntityPersister (String entityName, Object obj) в NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId (Объектный объект, String entityName, Любой объект, Источник IEventSource, Boolean requireImmediateIdAccess) в NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId (событие SaveOrUpdateEvent) в NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId (событие SaveOrUpdateEvent) в NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient (событие SaveOrUpdateEvent) в NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate (событие SaveOrUpdateEvent) в NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate (событие SaveOrUpdateEvent) в NHibernate.Impl.SessionImpl.FireSave (событие SaveOrUpdateEvent) в NHibernate.Impl.SessionImpl.Save (Object obj) в HexsolveMVC.Controllers.InstructionController.CreateInstnParts (Строковые данные) в F: \ Project \ HexsolveMVC \ Controllers \ InstructionController.cs: строка 1342. InnerException:

Может кто-нибудь помочь мне решить эту проблему?

1 Ответ

1 голос
/ 14 января 2011

Возможно, вы пропустили файл отображения hbm.Вы не забыли поставить флаг компиляции "Embedded Resource" в свой файл сопоставления?

...