nhibernate настроить удалить sql - PullRequest
       7

nhibernate настроить удалить sql

0 голосов
/ 10 октября 2019

В nhibernate я видел примеры того, как реализовать мягкое удаление. Например, https://nhibernate.info/blog/2008/09/06/soft-deletes.html

, но я не видел, как увеличить количество созданных жестких удалений. nhibernate генерирует запросы на удаление, которые он запускает в базе данных, подобной этой

delete from dbo.MyTable where ID = :id and timestamp = :timestamp

У нас есть проблема, когда параллельные операции запускаются, и эти удаления увеличиваются до блокировок страниц. Я хочу использовать подсказки блокировки или индексные подсказки, чтобы уменьшить область действия этих блокировок.

например (просто предположим, что этот синтаксис действительно действителен на данный момент - основная идея заключается в том, чтобы на самом деле иметь возможность увеличивать)

delete from dbo.MyTable with (rowlock, index(UX_SomeNiceIndex)) where ID = :id and timestamp = :timestamp

Возможно ли это? У меня сложилось впечатление, что мне нужен расширенный IEntityPersister, который в моем случае был бы своего рода перегрузкой SingleTableEntityPersister? Со всеми этими интерфейсами я надеялся, что кто-то задокументировал, как использовать и перегружать?

...