все! Сейчас я изучаю NHibernate, и мне хотелось бы знать, возможно ли сохранить несколько объектов в базе данных за одну операцию.NHibernate: вставить сразу несколько элементов
Для примера рассмотрим этот тестовый код
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);
}
Этот цикл здесь генерирует много заявлений INSERT, которые могут быть неоптимальной в SQL Server 2008, который позволяет включать несколько строк данных в одном INSERT заявление.
Можно ли переписать этот код для использования этой функции - вставить все данные за одну операцию?
Обновление ОК, теперь это действительно начало отправлять все в одной партии. Огромное спасибо всем!
Вы имеете в виду «вставку-штуцер»? Это просто синтаксический сахар или он также лучше работает? – Paco
@Paco: он работает лучше, если это единственный запрос против многих независимых INSERT. Если все эти ВСТАВКИ входят в одну партию, то это почти то же самое. – Gart