c# - 这些 .NET 自动生成的表适配器命令有什么作用?例如UPDATE/INSERT 后跟 SELECT

标签 c# sql-server sql-server-ce dataadapter

我正在使用一个遗留应用程序,我正在尝试对其进行更改,以便它可以与 SQL CE 一起使用,而它最初是针对 SQL Server 编写的。

我现在遇到的问题是,当我尝试执行 dataAdapter.Update 时,SQL CE 提示它不希望命令文本中有 SELECT 关键字。我相信这是因为 SQL CE 不支持批处理 SELECT 语句。

自动生成的表适配器命令看起来像这样......

this._adapter.InsertCommand.CommandText = @"INSERT INTO [Table] ([Field1], [Field2]) VALUES (@Value1, @Value2);
SELECT Field1, Field2 FROM Table WHERE (Field1 = @Value1)";

它在做什么?看起来它是从数据表中插入新记录到数据库中,然后从数据库中将该记录读回数据表中?这有什么意义?

我可以只检查代码并删除所有这些 SELECT 语句吗?或者有没有更简单的方法来解决我想将这些数据适配器与 SQL CE 一起使用的问题?

我无法重新生成这些表适配器,因为知道如何重新生成的人早已离开。

最佳答案

它只是在更新后用数据库中的最新值更新对象。对我来说总是似乎有点不必要但是嘿......

从维护的角度来看,这些都是一件麻烦事 - 如果您有选择,您可以通过将所有这些抽象到适当的数据层来为自己省去很多麻烦。

关于c# - 这些 .NET 自动生成的表适配器命令有什么作用?例如UPDATE/INSERT 后跟 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2599029/

相关文章:

sql-server - 从 SQL Server 表以正确的语法生成 XML

sql - 使用已部署的 SQL 紧凑型数据库进行 Entity Framework 迁移

c# - 按国家和地区获取时区

c# - 在字符串 C# 中查找和替换自定义值

sql-server - 即使 online=on ,索引重建也会卡住数据库

sql - 当前事务无法提交,并且无法支持写入日志文件的操作。回滚事务

sql-server-ce - 配置文件中数据库文件的相对路径

.net - SQL Server CE 中的大容量插入

c# - 如何在 C# 中通过继承实现类组合

C# 列表中的最小差异