Эти классы имеют похожие методы, но, похоже, работают несколько иначе.В чем разница между DetachedCriteria и ICriteria
В чем разница между ними и когда следует использовать каждый из них?
Эти классы имеют похожие методы, но, похоже, работают несколько иначе.В чем разница между DetachedCriteria и ICriteria
В чем разница между ними и когда следует использовать каждый из них?
Отдельные критерии могут быть построены без ссылки на ISession
. Вы можете позже принять эти критерии и применить его к ISession
, чтобы получить исполняемый файл ICriteria
.
Используйте ICriteria
, когда у вас есть сеанс.
Используйте DetachedCriteria
, если вы не уверены в какой сессии будет выполнен запрос.
Обратите внимание, что DetachedCriteria
делает не реализации ICriteria
- они не являются взаимозаменяемыми. Вы всегда должны позвонить detachedCriteria.GetExecutableCriteria(session)
, чтобы получить экземпляр ICriteria
.
Спасибо за ответ, я обновил свой вопрос, вы можете проверить его? – kilonet
@kilonet Да; кажется странным. Если вы установите контрольную точку на втором и проверите значение локальной переменной 'category', что это такое? – Jay
yep, это была проблема с именами переменных – kilonet