InvalidCastException NHibernate - PullRequest
       0

InvalidCastException NHibernate

0 голосов
/ 14 июня 2011
Table EmployeebySet: [**IdEmployee, IdSet**, Name, Date]
Table Employee: [IdEmployee, Name, Age...]
Table Set: [IdSet, Date, Name...]

Я работаю с NHibernate, у меня есть несколько таблиц, и я делаю тест с NUnit. Итак, у меня есть проблема в этом методе, когда я хочу получить некоторые данные в таблице EmployeebySet по IdEmployee или IdSet. Я думаю, что проблема в том, что PrimaryKey является составным. (IdEmployee, IdSet)

public EmployeebySet GetEmployeebySet_byIdEmployee(int IdEmployee) 
        {
            using (ISession session = NHibernateSessionBuilder.OpenSession())
                return session.Get<EmployeebySet>(IdEmployee);
        }

Но когда я даю IdEmployee = 3, в последней строке возникает эта ошибка InvalidCastException System.Int32

Что я могу сделать?

1 Ответ

1 голос
/ 14 июня 2011

Поскольку вы имеете дело с составными ключами, вам придется структурировать свой тест, чтобы передать оба ключа:

public EmployeebySet GetEmployeebySet_byIdEmployeeAndIdSet(int IdEmployee, int IdSet)
{
    using (ISession session = NHibernateSessionBuilder.OpenSession())
    {
        return session.Get<EmployeebySet>(
            new EmployeebySet 
            {
                IdEmployee = IdEmployee,
                IdSet = IdSet
            });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...