Nhibernate равное ограничение на гид - PullRequest
2 голосов
/ 24 декабря 2011

У меня есть класс, Comapny, с userId как system.Guid, я хочу отфильтровать эту компанию (userId не является первичным ключом), но когда я делаю это следующим образом:

     List<Company> list =
            session.CreateCriteria<Company>().Add(Restrictions.Eq("UserId", userId))
            .List<Company>().ToList();

список возвращается пустым, хотя в базе данных есть строки с этим свойством.

Я попытался сделать это так:

        Company companyResult = null;

        list.ForEach(delegate (Company company)
                         {
                             if (company.UserId.Equals(userId))
                             {
                                 if (companyResult == null)
                                 {
                                     companyResult = company;
                                 }
                             }
                         });

        return companyResult;

, и это работает, есть причина, по которой выиграл Nhibernate eqне работает над этим Guid?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2011

Лучшее, что вы можете сделать, чтобы действительно исследовать это, это включить show-sql, по-видимому, вы получаете что-то отличное от базы данных, тогда как вы думаете?

0 голосов
/ 24 декабря 2011

Почему бы не использовать метод Query?

var list = session.Query<Company>().Where(x => x.UserId == userId).ToList();
...