Я использую BindingSource с Entity Framework, и когда я называюEntityContext.SaveChange() занимает больше времени при первом вызове
EntityContext.SaveChange();
это занимает больше времени, чтобы выполнить то в следующий раз добавить новые объекты источник привязки, а затем вызвать SaveChanges(); Метод
EDIT 2
Детали:
При виде нагрузки события
BindingSource.DataSource = EntityContext.Table;
Добавить новую кнопку
BindingSource.AddNew();
Table m_object= (Table)BindingSource.Current;
m_object.ID = Guid.NewGuid();
Другие данные объекта редактируется с помощью элементов управления переплетенных к его свойствам
А затем кнопку сохранить
BindingSource.EndEdit();
Stopwatch sw = new Stopwatch();
sw.Start();
EntityContext.SaveChanges();
sw.Stop();
Console.WriteLine(sw.Elapsed.ToString());
Если я повторил добавление и сохранение в несколько раз, я получаю следующий результат:
00: 00: 01.0788243
00: 00: 00.0316786
00: 00: 00,0292763
00: 00: 00,0298630
00: 00: 00,1127312
Примечательно, что первая надстройка и операция сохранения занимает почти одну секунду больше, чем в очередной раз я добавить и сохранить.
Я добавил подробно к вопросу, и о различиях во времени вы имеете в виду, сколько времени между вызовом вызовов SaveChanges(), также что вы подразумеваете под ** AutoGrowing ** – major
@major Это было бы хорошо, если бы вы могли количественно определить, что вы подразумеваете под «требуется больше времени для выполнения, а затем в следующий раз метод называется», сколько времени потребовалось, чтобы вызвать saveChanges в первый раз, и сколько времени потребовалось во второй раз? SQL autogrow - это функция, которая быстро расширяет вашу базу данных, чтобы вы могли поместить в нее больше вещей. Обычно это вызвано оператором insert. Взгляните сюда, чтобы узнать об автостраде http://www.simple-talk.com/sql/database-administration/sql-server-database-growth-and-autogrowth-settings/ –
@major также взгляните на мое редактирование , вполне возможно, что во второй раз, когда вы нажимаете «Сохранить», на самом деле возникают какие-либо изменения для сохранения или более быстрый вызов обновления. –