2010-02-16 13 views

Répondre

5

OleDbCommand et OleDbConnection sont générales. SqlCommand et SqlConnection sont spécifiques à SQL Server et peuvent tirer parti de ses fonctionnalités. Ils exposent également les fonctionnalités de SQL Server. Par exemple, vous pouvez les utiliser pour manipuler des colonnes XML.

+2

Oui, mais quelles sont ces caractéristiques? – bitbonk

1

avec SQLConnection vous pouvez utiliser des transactions et des transactions scopes comme:

using(var scope = new TransactionScope()) 
{ 

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

scope.Complete() 
} 

vous devez avoir le service MSDTC activé pour que cela fonctionne

regarder ici http://valueinjecter.codeplex.com/, la page de la couche d'accès aux données où je montrez cela

+0

Mais OleDB a aussi des transactions. Je peux passer une transaction à plusieurs commandes, les valider et les annuler. Quel est l'avantage de ce qui précède? Juste plus agréable à lire? – bitbonk