J'ai créé une procédure pour chaque type de base de données pris en charge par mon application. et ajouté dans leurs fichiers de migration.Comment appeler une procédure stockée à partir d'une application indépendante de la base de données C#, codefirst
je peux appeler la procédure MSSQL enregistrées comme deux types dans mon code première application un
worker.StoredProcedures.ExecuteWithStoreProcedure("sp_userVirman @ResourceUserID,@targetUserID",
new SqlParameter("ResourceUserID",DbType.Int64) { Value = 1 },
new SqlParameter("targetUserID", DbType.Int64) { Value = 2 });
deux
worker.StoredProcedures.ExecuteWithStoreProcedure(string.Format("sp_userVirman {0},{1}", 1, 2));
mais lorsque le changement de fournisseur de db mysql, il donne l'erreur.
Une exception non gérée du type 'MySql.Data.MySqlClient.MySqlException' a eu lieu dans EntityFramework.dll Informations complémentaires: Seuls les objets MySqlParameter peuvent être stockés
et aussi les fournisseurs peuvent changer oracle postgresql mysql etc.
comment peut résoudre ce problème?
je ne veux pas utiliser si fournisseur == == MSSQL si fournisseur mysql etc ...
ceci est ma principale fonction
public void ExecuteWithStoreProcedure(string query, params object[] parameters)
{
_dbContext.Database.ExecuteSqlCommand(query, parameters);
}