NHibernate: insert multiple items at once
all! I am learning NHibernate now and I would like to know is it possible to save multiple objects to database in one operation.
For example, consider this test code
private static void SaveTestBillNamesInSession(ISession session, params string[] names)
{
var bills = from name in names
select new Bill
{
Name = name,
DateRegistered = DateTime.Now,
};
foreach (var bill in bills)
session.SaveOrUpdate(bill);
}
This loop here generates many INSERT statements which may be sub-optimal in SQL Server 2008 which allows to include multiple data rows in one INSERT statement.
Is it possible to rewrite this code to make use of this functionality - in开发者_高级运维sert all the data in one operation?
Update OK, now it's really started to send everything in a single batch. Many thanks to all!
There's something close to what you want.
If you set the adonet.batch_size
configuration property to anything other than 0 (the default), NHibernate will send that many statements at once to SQL Server.
精彩评论