Получение исключения при использовании NHibernate 2.1 Linq <T>, почему? - PullRequest
0 голосов
/ 28 ноября 2011

При использовании NHibernate 2.1 со сборкой Linq мы получаем исключение при попытке перечисления результатов или при вызове ToList ().

у нас есть список Id, который мы хотим получить записиих, мы использовали следующий код

public List<TEntity> GetAllContainsItems<TEntity>(List<int> ids) 
    where TEntity : IEntity
{
    using (IUnitOfWork uof = _container.Resolve<IUnitOfWork>())
    {
        uof.Initialize();

        IRepository<TEntity> rep 
            = _container.Resolve<IRepository<TEntity>>();

        // repository exposes the ISession.Linq<T> of nhibernate.
        var res = rep.Find().Where(y => ids.Contains(y.Id) );

        // get the exception:
        // "Object reference not set to an instance of an object."

        return res.ToList();
    }
}

какие-либо мысли?

PS Мы не можем изменить Dll на данный момент.

1 Ответ

0 голосов
/ 28 ноября 2011

Можете ли вы изменить свой код на следующий и посмотреть, работает ли он:

if(ids==null)
{
   Console.WriteLine("Why am I not surprised");
}
var res = rep.Find().Where(y => y!=null && ids.Contains(y.Id));
return res.ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...