2012-02-29 201 views
0

当我从数据库中加载数据时,我使用一个存储过程加载DataItem和与之相关的任何Data。这返回到一个具有两个表的数据集中,第一个表具有一行并且描述了DataItem,而另一个表中的每一行描述了相关的Data将数据集保存到数据库

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

当我必须将对象保存回数据库时,出现问题。我目前正在保存DataItem,然后遍历我的所有Data并在每个节点上执行保存。我知道,完全可怕的方式去做。这很慢,并且不是事务性的。

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

什么是最好的方式去做这一切?这将构成我正在进行的项目的关键,所以我希望它尽可能地快速和高效!

(.NET 4.0和SQL 2005)

+1

一个简单的谷歌搜索会给你这个http://msdn.microsoft.com/en-us/library/xzb1zw3x%28v=vs.80%29.aspx – 2012-02-29 13:41:07

+0

而相关部分[__Walkthrough:将数据保存到数据库(多个表)__](http://msdn.microsoft.com/zh-cn/library/4esb49b4.aspx) – 2012-02-29 14:15:25

+0

在发布之前阅读它们,也许我没有理解。他们似乎没有提到SQL方面会发生什么。我已经阅读了这个,我只是想就我的情况提供一些关于最佳实践的建议。也许这不是那个地方。 – Jon 2012-02-29 14:25:17

回答