MappingException не было обработано: NHibernate - PullRequest
1 голос
/ 23 марта 2011

Я пытаюсь узнать о NHibernate из книги NHibernate в действии и попытка скомпилировать и запустить первый пример дает мне следующее исключение:

Could not compile the mapping document:

Namespace.FolderName.ClassName.hbm.xml

Внутреннее исключение

{"<hibernate-mapping xmlns='urn:hibernate-mapping-2.2'> was not expected."}

Вот мой файл сопоставления:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:hibernate-mapping-2.2"
                   auto-import="true">
  <class name="Namespace.Folder.ClassName,Namespace.Folder" lazy="false">
    <id name="id" access="field">
      <generator class="native" />
    </id>
    <property name="name" access="field" column="name"/>
    <many-to-one access="field" name="manager" column="manager"
                 cascade="all"/>
    </class>
</hibernate-mapping>

Это происходит, когда я пытаюсь создать сеанс следующим образом:

static ISession OpenSession()
        {
            if (factory == null)
            {
                Configuration c = new Configuration();
                c.AddAssembly(Assembly.GetCallingAssembly());
                factory = c.BuildSessionFactory();
            }
            return factory.OpenSession();
        }

Исключение вызывает следующая строка:

c.AddAssembly(Assembly.GetCallingAssembly());

Вот полная трассировка стека исключений:

**

NHibernate.MappingException было необработанное сообщение = не удалось скомпилировать картографический документ: DataGenerator.HibernateMapper.Individual.hbm.xml Источник = NHibernate StackTrace: в NHibernate.Cfg.Configuration.LogAndThrow (Исключение исключение) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 340 в NHibernate.Cfg.Configuration.LoadMappingDocument (XmlReader hbmReader, String name) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 1783 в NHibernate.Cfg.Configuration.AddXmlReader (XmlReader hbmReader, String name) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 1813 в NHibernate.Cfg.Configuration.AddInputStream (Stream xmlInputStream, String name) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 630 в NHibernate.Cfg.Configuration.AddResource (String дорожка, сборка в сборе) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 668 в NHibernate.Cfg.Configuration.AddAssembly (Assembly сборка) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 761 в DataGenerator.Program.OpenSession () в C: \ Документы и Настройки \ user1 \ Desktop \ DataGeneration \ DataGenerator \ DataGenerator \ Program.cs: линия 46 в DataGenerator.Program.CreateIndividualAndSaveToDatabase () в C: \ Documents and Настройки \ user1 \ Desktop \ DataGeneration \ DataGenerator \ DataGenerator \ Program.cs: линия 29 в DataGenerator.Program.Main () в C: \ Documents and Настройки \ user1 \ Desktop \ DataGeneration \ DataGenerator \ DataGenerator \ Program.cs: линия 16 в System.AppDomain._nExecuteAssembly (RuntimeAssembly сборка, строка [] args) в System.AppDomain.ExecuteAssembly (String AssemblyFile, Доказательства AssemblySecurity, String [] args) в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () в System.Threading.ThreadHelper.ThreadStart_Context (Object государство) в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, ContextCallback обратный вызов, состояние объекта, логическое значение ignoreSyncCtx) в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, ContextCallback обратный вызов, состояние объекта) в System.Threading.ThreadHelper.ThreadStart () InnerException: System.InvalidOperationException Сообщение = В документе XML есть ошибка (1, 2). Источник = System.Xml Трассировки стека: в System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, String encodingStyle, События XmlDeserializationEvents) в System.Xml.Serialization.XmlSerializer.Deserialize (TextReader TextReader) at NHibernate.Cfg.NamedXmlDocument..ctor (String имя, документ XmlDocument) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ NamedXmlDocument.cs: линия 27 в NHibernate.Cfg.Configuration.LoadMappingDocument (XmlReader hbmReader, String name) в D: \ CSharp \ NH \ NHibernate \ SRC \ NHibernate \ Cfg \ Configuration.cs: линия 1774 InnerException: System.InvalidOperationException Сообщение = было неожиданно. Источник = 2p514b3b Трассировки стека: в Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderHbmMapping.Read109_hibernatemapping ()InnerException:

**

Кто-нибудь может дать мне несколько советов о том, что здесь происходит?

Спасибо

1 Ответ

4 голосов
/ 23 марта 2011

Убедитесь, что действие построения файла сопоставления установлено на «Встроенный ресурс».

РЕДАКТИРОВАТЬ:

Попробуйте

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">

Обратите внимание на n в nhibernate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...