我一直在玩弄幾種方法批量插入10,000個對象列表到我的數據庫。NHibernate批量插入沒有選擇ID末尾
這些對象沒有任何關係,只存儲POCO數據。
我已經開始使用StatelessSession,因爲很多文章都提出過這個問題,我注意到了一個明顯的改進。
有一件事仍然存在 - 每次插入後NHibernate都會執行一個SELECT語句來獲取剛剛插入的對象的ID。有沒有辦法推遲到我真的要查詢對象?如果NHibernate可以插入行而不用擔心ID,這似乎是一個巨大的性能優勢。
這可能嗎?
謝謝你的洞察力。不幸的是,我的目標之一是保持數據庫不可知論。因爲這個 - 我可能會用10到15秒的時間插入10行NHibernate。 – Origin 2012-02-13 06:47:12
個人而言,我仍然會爲SQL Server使用'SQLBulkCopy',因爲這會使您的應用程序更加靈活,並且不會爲其他用戶/使用綁定資源。我祝你好運,你的目標! – Rippo 2012-02-13 06:52:57
雖然數據庫不可知的理想是好的,但在實踐中可能很難實現 – 2012-02-14 04:01:33