2012-01-09 47 views

回答

0

據我所知,沒有Fluent Nhibernate語法用於刪除實體。我還想在刪除時使用HQL(甚至是SQL)。

0

有一個例子here可能會做你所需要的。它是使用Session.delete

的重載
1

你可以這樣做的一個:

foreach(var item in idList) 
{ 
    Session.Delete(Session.Load<People>(item)); 
} 

,並提高這組批量大小的性能到20這樣的配置:

<property name="adonet.batch_size">20</property> 

這Nhibernate中默認存在的行爲3.2

+0

如果我沒有弄錯這種方法生成每個項目的查詢,但在單批次?但如何用單個查詢來做到這一點? – k0lpak 2012-01-09 20:30:58

+0

而你應該使用Session.Load而不是Session.Get。那麼在刪除每個項目之前,您將不會有很多選擇 – Sly 2012-01-10 07:31:08

+0

@ k0lpak:我認爲您無法在單個查詢中繼續。 – 2012-01-10 11:32:32

相關問題