2013-07-03 48 views
1

背景:的兒童在時間

  • NHibernate的1.2
  • C#3.5 web應用
  • 父子關聯:A具有B的列表
  • 映射是標準<bag>

我可以看到,使用NHProf和SQL Server探查,那NHibernate的發送一個SQL插入每個B.

INSERT INTO B (a,b,c,d) VALUES (1,2,3,4); 
INSERT INTO B (a,b,c,d) VALUES (4,5,6,7); 
INSERT INTO B (a,b,c,d) VALUES (8,9,10,11); 

我怎麼能告訴它做的事:

INSERT INTO B (a,b,c,d) VALUES (1,2,3,4), (5,6,7,8), (9,10,11,12) 

回答

0

我我想我找到了答案。

  • 集adonet.batch_size
  • 使用hilo生成主鍵而不是自動遞增

我仍然看到個別INSERT,而是:SQL Server Profiler中

  • 較少查詢計數
  • 沒有更多NHProf中的「SELECT scope_identity()」