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