Это должен быть простой вопрос. Учитывая критерии, как удалить объекты, удовлетворяющие критериям?
Обоснование:
Критерии HQL и NH являются специфическими конструкциями NHibernate и как таковые они являются деталями реализации DAL на стороне сервера. Я не хочу, чтобы они «просачивались» на сторону клиента. Таким образом, наша клиентская часть предоставляет LINQ-выражения для обработки сервером. До сих пор запросы, в которых запросы на выборку и LINQ to NHibernate обрабатывались, просто отлично.
Однако сейчас необходимо реализовать операцию пакетного удаления. Как обычно, клиентская сторона предоставляет выражение LINQ, а сервер должен удалять объекты, удовлетворяющие выражению.
К сожалению, LINQ to NHibernate здесь не поможет. Максимум, что он может сделать - это перевести данное выражение LINQ в критерии NHibernate.
Во всяком случае, это история. Я хочу подчеркнуть, что клиентская сторона вообще не знает о NHibernate, и мне нравится, чтобы он оставался таким.
приписка
Я использую NH 2,1