L'exécution de procédures stockées à partir d'un DbContext

J'ai deux simples procédures stockées dans sql server:

  • SetData(@id int, @data varchar(10))
  • GetData(@id int).

GetData actuellement renvoie une seule ligne et une seule colonne ensemble de résultats, mais je pourrais changer pour être une fonction appropriée si nécessaire.

Quelle serait la meilleure façon d'exécuter ces à partir d'un DbContext exemple?

Si possible, j'aimerais éviter d'avoir à faire ma propre connexion à la gestion de l'état et/ou de l'exposer EF-types spécifiques. J'ai commencé par récupérer les ObjectContext et en regardant la Execute* fonctions, mais la documentation est assez mauvais et manque d'exemples impliquant des procédures stockées.

Idéalement, je voudrais être capable de faire cela:

myContext.ExecuteNonQuery("SetData", id, data);
var data = myContext.ExecuteScalar<string>("GetData", id);

OriginalL'auteur Diego Mijelshon | 2011-06-08