NHibernate 3.1 ломает мой код, одер? - PullRequest
0 голосов
/ 18 марта 2011

Я недавно скачал и установил NHibernate 3.1. Есть 2 новые библиотеки DLL, которые я скопировал поверх версии 3.0. Вопрос № 1: это все, что мне нужно сделать?

В моей системе я реализовал собственный генератор идентификаторов, он работает с 3.0, но я получаю сообщение об ошибке «Не могу интерпретировать стратегию генератора идентификаторов» с 3.1, другие изменения не были сделаны. Вопрос № 2: Что изменилось в 3.1, что то, что я сделал в 3.0, больше не работает?

Вот пример моего пользовательского класса генератора.

public class IdGenerator : TableGenerator
{
    public override object Generate(ISessionImplementor session, object obj)
    {
        if(session.Connection.ToString().ToLower().IndexOf("sqlclient") > 0)
        {
            IQuery query = session.GetNamedSQLQuery("GenerateSQLServerId");
            return Convert.ToInt32(query.UniqueResult());
        }
        else if (session.Connection.ToString().ToLower().IndexOf("oracle") > 0)
        {
            IQuery query = session.GetNamedSQLQuery("GenerateOracleId");
            return query.List()[0];
        }

        return null;
    }
}

И в моем файле hbm.xml есть:

<id  name="Id"   column="ID"  type="int">
  <generator class="Namespace.IdGenerator, Namespace" />
</id>

Как я уже сказал, с 3.0 все работало нормально, но не с 3.1. Возможно, это проблема установки ... есть идеи?

1 Ответ

0 голосов
/ 21 марта 2011

Вопрос # 1 - это все, что я сделал, и похоже, что я сейчас на версии 3.1.

Вопрос # 2 - я использую библиотеку классов для размещения всей своей функциональности с помощью NHibernate, а затем консольпроверить, прежде чем я внедрить мои новые методы в систему.Я изменил ссылки на 3.1 в моем консольном приложении и забыл сделать то же самое в моей библиотеке классов.Как только я получил обе версии в одной и той же версии, сообщение об ошибке «Не удалось интерпретировать стратегию генератора идентификаторов» исчезло, и все заработало нормально.Не было и нет ничего плохого в моем кастомном генераторе.

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