Сохранить набор данных в базу данных - PullRequest
0 голосов
/ 29 февраля 2012

При загрузке из базы данных я использую одну процедуру сохранения, которая загружает DataItem и любые Data, связанные с ней. Это возвращается в одном DataSet с двумя таблицами, первая таблица имеет одну строку и описывает DataItem, а каждая строка в другой таблице описывает связанный Data.

Этот набор данных затем используется для заполнения моих объектов.

Моя проблема возникает, когда мне нужно сохранить объекты обратно в базу данных. В настоящее время я сохраняю DataItem, а затем перебираю все свои Data и выполняю сохранение для каждого из них. Я знаю, это совершенно ужасный способ сделать это. Он медленный и не транзакционный.

Итак, в идеале я бы хотел преобразовать мои объекты обратно в мой DataSet, а затем сохранить все это обратно в базу данных за одну эффективную транзакционную операцию. Какой код мне нужен на стороне C #, чтобы сделать эту транзакцию и позволить мне вернуть DataSet. Я предполагаю, что это будет связано с использованием TableAdapter. Но учитывая, что у меня есть две таблицы, как это будет работать? Что я использую на стороне SQL - Могу ли я использовать процедуры хранения? (Я бы хотел избежать использования SQL в моем проекте на C #) Нужно ли мне написать что-то, что будет обрабатывать циклический перебор данных для сохранения каждой записи?

Какой лучший способ сделать все это? Это сформирует основу проекта, над которым я работаю, поэтому я хочу, чтобы он был настолько быстрым и эффективным, насколько это возможно!

(.NET 4.0 и SQL 2005)

1 Ответ

0 голосов
/ 22 апреля 2013

В конце концов не использовал TableAdapter, так как это было больше усилий, чем стоило.

Из комментариев: http://msdn.microsoft.com/en-us/library/4esb49b4.aspx

...