0

这可能是一个愚蠢的问题。但是 ADO.net 是否支持无需编写 SQL 命令即可更新到数据库?

示例: 我有一个从数据库读取数据并将行保存在内存中的方法。然后我修改了一些行。那么是否可以让 ADO.net 更新对数据库的最新更改,而无需编写更新 SQL 语句,而是让 ADO.net 解决?

我问这个是因为我可能想在以后更新。我可以只将 SQL 语句存储在一个列表中,但随后我将进行许多更新,而不是只进行一项需要更长时间的大更新。

4

3 回答 3

2

您需要的是某种ORM,而 ADO 不是 ORM。所以不行。您必须编写 SQL。不过,您可以通过编写存储过程来简化事情。然后就可以使用ADO参数了

如果需要,您可以将更改作为对象保存在内存中,直到您需要实际持久化它们。然后你可以有一个映射器来获取对象并为你编写 SQL。但是,您正在重做一些已经在 ORM 中完成的工作

于 2012-04-09T13:54:30.060 回答
1

就像你用来获取数据的 sql 一样,你需要 sql 来放置数据。它还需要更新要更新的列。我不认为它可以是自动的。或者使用实体框架。可能将对象保存为更新(ID)是立即更新或更新的方式。

于 2012-04-09T13:56:43.857 回答
1

ADO.NET 支持 DataAdapter 和 DataSet,它们允许您执行以下操作:

  1. 操作数据集中的数据。
  2. 通过将 DataSet 作为参数传递给DataAdapter的Update方法,将更改推送到数据库。

为了让 DataAdapter 推送更改,需要指定插入、更新和删除命令。您必须在命令配置中指定一些sql,但它就像 sql 语句的模板,它将更新您操作的每一行,而不必手动跟踪更改。

配置好命令后,使用 UPDATE 方法并将 DataSet 作为参数,它将根据您的命令保留您的更改。您将不需要跟踪单个 sql 更改。

  1. 可以在此处找到配置命令的示例。
  2. 可以在此处找到调用更新的示例。
于 2012-04-09T14:02:41.453 回答