NHibernate. MappingException: Никакой стойкий организм для: XYZ

Вот как я скрываю и показываю контент с помощью класса. изменение класса на ничего изменит отображение на блок, изменение класса на «a» покажет отображение как none.

<!DOCTYPE html>
<html>
<head>
<style>
body  {
  background-color:#777777;
  }
block1{
  display:block; background-color:black; color:white; padding:20px; margin:20px;
  }
block1.a{
  display:none; background-color:black; color:white; padding:20px; margin:20px;
  }
</style>
</head>
<body>
<button onclick="document.getElementById('ID').setAttribute('class', '');">Open</button>
<button onclick="document.getElementById('ID').setAttribute('class', 'a');">Close</button>
<block1 id="ID" class="a">
<p>Testing</p>
</block1>
</body>
</html>
129
задан Jeroen 22 September 2013 в 21:04
поделиться

9 ответов

Кажется, что Вы забыли добавлять отображающийся блок к конфигурации фабрики сессии..

, Если Вы используете app.config...

.
.
    <property name="show_sql">true</property>
    <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
    <mapping assembly="Project.DomainModel"/>  <!-- Here -->
</session-factory>
.
.
98
ответ дан 24 November 2019 в 00:29
поделиться

Имел подобную проблему, когда находят объект идентификатором... Все, что я сделал, должно было использовать полностью определенное имя в имени класса. Это - Прежде чем это было:

find("Class",id)

Объект, таким образом, это стало как это:

find("assemblyName.Class",id)
0
ответ дан 24 November 2019 в 00:29
поделиться

Это должно быть name="Id"? Опечатки являются вероятной причиной.

Следующий должен был бы испытать его с неуниверсальным тестом, чтобы удостовериться, что Вы являетесь передающими в надлежащем параметре типа.

можно ли отправить все сообщение об ошибке?

2
ответ дан 24 November 2019 в 00:29
поделиться

При запущении тестов на репозитории от отдельного блока затем удостоверьтесь, что Hibernate.cfg.xml установлен всегда производить в каталоге bin упомянутого блока. Этого не происходило для нас, и мы получили вышеупомянутую ошибку при определенных обстоятельствах.

Правовая оговорка: Это могло бы быть немного тайным советом, учитывая, что это - прямой результат того, как мы структурируем наши блоки интеграционного теста репозитория (т.е. у нас есть символьная ссылка от каждой опытной сборки до единственного Hibernate.xfg.xml)

1
ответ дан 24 November 2019 в 00:29
поделиться

Что-то очевидное, но весьма полезное для новичков в NHibernate.

Все файлы сопоставления XML следует рассматривать как встроенные ресурсы , а не как содержимое по умолчанию Content . Этот параметр устанавливается путем редактирования атрибута Build Action в свойствах файла.

XML-файлы затем встраиваются в сборку и анализируются при запуске проекта на этапе настройки NHibernate.

87
ответ дан 24 November 2019 в 00:29
поделиться

Не забудьте указать информацию об отображении в .config файле

например,

где MyApp.Data - сборка, содержащая ваши отображения

1
ответ дан 24 November 2019 в 00:29
поделиться

У меня была аналогичная проблема, и я решил ее следующим образом:

Я работал над MS SQL 2008, но в конфигурации NH у меня был плохой диалект: NHibernate.Dialect. MsSql2005Dialect если я исправлю это на: NHibernate.Dialect. MsSql2008Dialect тогда все работает нормально без исключения "Нет настойчивости для: ..." Дэйвид.

4
ответ дан 24 November 2019 в 00:29
поделиться

Моя проблема заключалась в том, что я забыл поместить .hbm в имя сопоставления xml. Также убедитесь, что вы сделали его встроенным ресурсом!

48
ответ дан 24 November 2019 в 00:29
поделиться

Я получил это из здесь :

В моем случае класс сопоставления не был общедоступным. Другими словами, вместо:

public class UserMap : ClassMap<user>  // note the public!

у меня только что было:

class UserMap : ClassMap<user>
42
ответ дан 24 November 2019 в 00:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: