SQLCommand/SQLConnection与OleDbCommand/OleDbConnection的区别

6

我是否使用 SQLCommand/SQLConnection 而不是 OleDbCommand/OleDbConnection 会有所不同。 从 API 的舒适度、功能、性能或安全性等方面来看,我是否可以获得任何优势?还是其他方面?

2个回答

5

OleDbCommandOleDbConnection 是通用的。而 SqlCommandSqlConnection 则是专为 SQL Server 设计的,可以利用其功能。它们还公开了 SQL Server 的功能。例如,您可以使用它们来操作 XML 列。


3
是的,但是那些特性是什么? - bitbonk

1

使用SqlConnection,您可以使用事务和事务范围,例如:

using(var scope = new TransactionScope())
{

//do a lot of stuff with sqlconnection/sqlcommand (s)

scope.Complete()
}

你需要启用msdtc服务才能使其正常工作

请查看http://valueinjecter.codeplex.com/,在数据访问层页面中我展示了这个


但是OleDB也有事务。我可以将一个事务传递给多个命令,提交它们并回滚它们。上述方法的优点是什么?只是更易读吗? - bitbonk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接