Это должен быть простой вопрос. Учитывая критерии, как удалить объекты, удовлетворяющие критериям?Как удалить объекты NHibernate с помощью критериев?
Обоснование:
HQL и критерии NH являются NHibernate конкретные конструкции и, как таковые, они на стороне сервера, DAL детали реализации. Я не хочу, чтобы они «просачивались» на клиентскую сторону. Таким образом, наша клиентская сторона предоставляет выражения LINQ для обработки сервера. До сих пор запросы, в которых запросы на выбор и LINQ to NHibernate имели дело с ними, были прекрасными.
Однако необходимо выполнить операцию пакетного удаления. Как обычно, клиентская сторона предоставляет выражение LINQ, и сервер должен удалить объекты, удовлетворяющие выражению. К сожалению, LINQ to NHibernate здесь не поможет. Самое большее, что он может сделать, это перевести данное выражение LINQ в критерии NHibernate.
В любом случае, это история. Я хочу подчеркнуть, что клиентская сторона вообще не знает об NHibernate, и мне нравится, чтобы она оставалась таким образом.
P.S.
Я использую NH 2.1
Мне не нравится этот метод, хотя при работе с большим количеством объектов, поскольку он требует выборки всех сущностей из базы данных прежде, чем их можно будет удалить. –
Это правда, вам не нужно использовать HQL для выдачи SQL-запроса «УДАЛИТЬ ОТ ГДЕ»? – DanB
Ребята, вы не серьезно. Должен быть лучший способ! – mark