В чем разница между DetachedCriteria и ICriteria - PullRequest
9 голосов
/ 14 сентября 2010

Эти классы имеют несколько похожих методов, но, похоже, работают немного по-другому.

В чем разница между ними и когда мне следует использовать каждый из них?

1 Ответ

11 голосов
/ 14 сентября 2010

Отдельные критерии могут быть созданы без ссылки на ISession.Позже вы можете взять этот критерий и применить его к ISession, чтобы получить исполняемый файл ICriteria.

Использовать ICriteria во время сеанса.

Использовать DetachedCriteria приВы не уверены, в какой сессии будет выполняться запрос.

Обратите внимание, что DetachedCriteria не не реализует ICriteria - они не взаимозаменяемы.Вы должны всегда вызывать detachedCriteria.GetExecutableCriteria(session), чтобы получить ICriteria экземпляр.

...