Не очень спорный AFAIK, но ... AJAX был далеко до того, как термин был придуман, и каждый должен «отпустить». Люди использовали это для всех видов вещей. Никто действительно не заботился об этом, хотя.
Тогда внезапно военнопленный! Кто-то придумал этот термин, и все вскочили на подножку AJAX. Внезапно люди стали экспертами в AJAX, как будто «экспертов» по динамической загрузке данных раньше не было. Я думаю, что это один из самых значительных факторов, который ведет к жестокому разрушению Интернета. Это и «Web 2.0».
Я предполагаю, что NHibernate идентифицирует имя столбца и / или таблицы как зарезервированное слово. Ваш класс с именем "hibernate" может быть вероятным виновником, но без дополнительной информации о вашей ошибке отследить ее будет довольно сложно. Некоторые предложения:
У меня та же ошибка, но я использую MySQL + NHibernate (2.1.0GA) + Mono (2.4) под Ubuntu, и эта ссылка мне помогла, надеюсь, она сработает для вас.
Ключ в том, чтобы использовать это в session-factory
<property name="hbm2ddl.keywords">none</property>
https://forum.hibernate.org/viewtopic.php?f=25&t=997701
, вот и все :)
К вашему сведению для любых новичков NHibernate / Fluent NHibernate, таких как я, решение FCastellanos тоже работало для меня (у меня тоже была ошибка в Windows), а способ Fluent NHibernate добавить эту конфигурацию - :
Fluently.Configure()
...
.ExposeConfiguration(c => c.Properties.Add("hbm2ddl.keywords", "none"))
...
.BuildSessionFactory()
Я тоже затронул эту проблему. В итоге я сделал следующее:
, который является изменением кода на NHibernate, но работал у меня.
Если вы делаете это программно, вы должны делать это как таковой:
cfg.SetProperty(NHibernate.Cfg.Environment.Hbm2ddlKeyWords, "none");
Это устраняет ту же ошибку, когда с использованием ActiveRecord для NHibernate. Соответствующий бит - key = "hbm2ddl.keywords" value = "none", и он входит в ваш web.config.
<activerecord isWeb="true">
<config>
<add key="connection.driver_class" value="NHibernate.Driver.MySqlDataDriver"/>
<add key="dialect" value="NHibernate.Dialect.MySQLDialect"/>
<add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<add key="connection.connection_string_name" value="BrochureDb"/>
<add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/>
<add key="hbm2ddl.keywords" value="none" />
</config>
</activerecord>