Я новичок в EF 4.1, я пытаюсь добавить список объектов в таблицу sql, используя первый подход EF и DB.
1) Должен ли я вызывать context.SaveChanges () внутри для цикла после AddObject(Trans) или его можно назвать вне цикла?
2) Кроме того, будут ли отменены все транзакции в случае ошибки?Я читал, что Entity Framework уже поддерживает собственные транзакции базы данных. Если какой-либо грязный объект ObjectStateEntry не может быть сохранен, то ObjectContext.SaveChanges откатит транзакцию и выдаст исключение.
3) Что еще можно сделать для увеличения производительности?Я вставлю около 1200 записей за один раз.
try
{
using (TransactionModel context = new TransactionModel())
{
try
{
foreach (var item in lstUnAllocatedTransaction)
{
Transaction Trans = new Transaction();
Trans.Amount = item.Amount;
Trans.Date = Datetime.Now;
Trans.DateAllocated = null;
context.Transactions.AddObject(Trans);
}
context.SaveChanges();
}
catch (Exception ex)
{
}
}
}
catch (Exception ex)
{
}
}