Je suis en train de construire une application web qui tente d'installer/mettre à niveau la base de données sur App_Start. Le cadre de la procédure d'installation est de veiller à ce que la base de données a l'asp.net les fonctionnalités installées. Pour cela, je suis en utilisant le Système.Web.De la gestion.SqlServices objet.
Mon intention est de faire tout le travail de base de données à l'intérieur d'une transaction SQL et si tout cela échoue, annuler la transaction et de laisser la base de données intactes.
le SqlServices objet possède une méthode "Installer" qui prend un ConnectionString mais pas une opération. Ainsi, au lieu-je utiliser SqlServices.GenerateApplicationServicesScripts comme suit:
string script = SqlServices.GenerateApplicationServicesScripts(true, SqlFeatures.All, _connection.Database);
SqlHelper.ExecuteNonQuery(transaction, CommandType.Text, script, ...);
puis-je utiliser le SqlHelper à partir de la Bibliothèque d'Entreprise.
mais cela déclenche une Exception avec un bout-charge d'erreurs, quelques-uns sont ci-dessous
Incorrect syntax near 'GO'.
Incorrect syntax near 'GO'.
Incorrect syntax near 'GO'.
Incorrect syntax near 'GO'.
Incorrect syntax near the keyword 'USE'.
Incorrect syntax near the keyword 'CREATE'.
Incorrect syntax near 'GO'.
The variable name '@cmd' has already been declared. Variable names must be unique within a query batch or stored procedure.
Je suis en supposant que c'est une question avec l'aide de l'instruction GO à l'intérieur d'une Transaction SQL.
Comment puis-je obtenir ce script généré de travail lors de l'exécution de cette manière.