Какой метод DataContext будет быстрее? - PullRequest
1 голос
/ 07 декабря 2010

Я использую базовый DataContext для создания объектов, а затем отправляю их в базу данных.

Я сам написал пару тестов, чтобы увидеть, какой из них быстрый, но мне просто интересно, какой метод считается лучшим из следующих.

Код перебирает цикл и создает объект, который должен быть сохранен в базе данных. Что лучше:

1.) Затем создайте список объектов и назначьте каждый созданный объект списку, а затем в конце используйте

MyDataContext.InsertAllOnSubmit(ListOfObjects)

2.) Назначьте каждый созданный объект непосредственно в DataContext, используя

MyDataContext.InsertOnSubmit(Object)

Надеюсь, это имеет смысл, если кому-то понадобится дополнительная информация, дайте мне знать!

Спасибо

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Я предполагаю, что мы говорим о влиянии производительности на событие submit - соединение с базой данных не открывается немедленно при вызове этих методов.

Поскольку каждая реализация будет обновлять базу данных только после отправки, они оба очень похожи. Любая разница в производительности будет незначительной (и будет компенсирована любой обработкой, которую вы выполняете, чтобы поместить объекты в Список или перечислить Список), так что выбирайте то, что лучше подходит для вашего дизайна.

Вам может показаться интересной эта страница о преждевременной оптимизации - http://c2.com/cgi/wiki?PrematureOptimization

Преждевременная оптимизация - корень все зло - Дональд Кнут.

1 голос
/ 07 декабря 2010

Полагаю, для второго варианта вам нужно будет заново открывать соединение для каждой операции.Использование списка чище и лучше.

...