将DataSet保存到数据库

时间:2012-02-29 13:26:18

标签: c# .net sql database transactions

当我从数据库加载时,我使用一个存储过程加载DataItem和与之关联的任何Data。这返回到一个包含两个表的DataSet中,第一个表有一行,描述DataItem和另一个表中描述相关Data的每一行。

然后使用此DataSet填充我的对象。

当我必须将对象保存回数据库时,我的问题出现了。我目前正在保存DataItem,然后循环浏览所有Data并对每个TableAdapter执行保存。我知道,完全可怕的方式去做。它既缓慢又不是交易性的。

所以我理想的做法是将我的对象转换回我的DataSet,然后在一个有效的事务操作中将它们全部保存回数据库。我需要在C#端使用什么代码来进行此事务并允许我传回DataSet。我认为这将涉及使用{{1}}。但鉴于我有两个表,这将如何工作?我在SQL端使用什么 - 我可以使用存储过程吗? (我想避免在我的C#项目中使用SQL)我是否需要编写一些能够处理数据表循环以保存每条记录的内容?

做这一切的最佳方法是什么?这将成为我正在研究的项目的关键所在,所以我希望它尽可能快速有效!

(。NET 4.0和SQL 2005)

1 个答案:

答案 0 :(得分:0)

最后没有使用TableAdapter,因为它比它的价值更加努力。

来自评论: http://msdn.microsoft.com/en-us/library/4esb49b4.aspx