Проблема критерия NHibernate - PullRequest
0 голосов
/ 01 мая 2011

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

string[] NewsId = new string[] {"ABC","DEF","GHI"};

public IEnumerable<News> NewsSelected(string[] NewsId)
    {

        List<ICriterion> criteria = new List<ICriterion>();
        criteria.Add(Restrictions.In("Id", NewsId));
        var results = _repository.GetByCriteria(criteria);
        return results;
    }

Возвращает ноль, но

public IEnumerable<News> NewsSelected(string[] NewsId)
    {

        List<ICriterion> criteria = new List<ICriterion>();
        criteria.Add(Restrictions.In("Id", new[]{"ABC","DEF","GHI"}));
        var results = _repository.GetByCriteria(criteria);
        return results;
    }

работает отлично.Что мне здесь не хватает?

1 Ответ

0 голосов
/ 23 марта 2015

Вам необходимо скопировать параметры запроса в локальную переменную, например:

string[] NewsId = new string[] {"ABC","DEF","GHI"};

public IEnumerable<News> NewsSelected(string[] NewsId)
{
    var newsId = NewsId;

    List<ICriterion> criteria = new List<ICriterion>();
    criteria.Add(Restrictions.In("Id", newsId));
    var results = _repository.GetByCriteria(criteria);
    return results;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...