Procédure : Exécuter une procédure stockée paramétrable avec EntityCommand
Cette rubrique indique comment exécuter une procédure stockée paramétrable à l'aide de la classe EntityCommand.
Pour exécuter le code de cet exemple
Ajoutez le modèle School à votre projet et configurez votre projet de façon à utiliser Entity Framework. Pour plus d’informations, consultez Guide pratique : utiliser l’Assistant Entity Data Model.
Dans la page de code de votre application, ajoutez les directives
using
suivantes (Imports
dans Visual Basic) :using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.EntityClient; using System.Data.Metadata.Edm;
Imports System.Collections.Generic Imports System.Collections Imports System.Data.Common Imports System.Data Imports System.IO Imports System.Data.SqlClient Imports System.Data.EntityClient Imports System.Data.Metadata.Edm
Importez la procédure stockée
GetStudentGrades
et spécifiez des entitésCourseGrade
comme type de retour. Pour plus d’informations sur la manière d’importer une procédure stockée, consultez Procédure : importer une procédure stockée.
Exemple
Le code suivant exécute la procédure stockée GetStudentGrades
dans laquelle StudentId
est un paramètre requis. Les résultats sont alors lus par un EntityDataReader.
using (EntityConnection conn =
new EntityConnection("name=SchoolEntities"))
{
conn.Open();
// Create an EntityCommand.
using (EntityCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SchoolEntities.GetStudentGrades";
cmd.CommandType = CommandType.StoredProcedure;
EntityParameter param = new EntityParameter();
param.Value = 2;
param.ParameterName = "StudentID";
cmd.Parameters.Add(param);
// Execute the command.
using (EntityDataReader rdr =
cmd.ExecuteReader(CommandBehavior.SequentialAccess))
{
// Read the results returned by the stored procedure.
while (rdr.Read())
{
Console.WriteLine("ID: {0} Grade: {1}", rdr["StudentID"], rdr["Grade"]);
}
}
}
conn.Close();
}
Using conn As New EntityConnection("name=SchoolEntities")
conn.Open()
' Create an EntityCommand.
Using cmd As EntityCommand = conn.CreateCommand()
cmd.CommandText = "SchoolEntities.GetStudentGrades"
cmd.CommandType = CommandType.StoredProcedure
Dim param As New EntityParameter()
param.Value = 2
param.ParameterName = "StudentID"
cmd.Parameters.Add(param)
' Execute the command.
Using rdr As EntityDataReader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)
' Read the results returned by the stored procedure.
While rdr.Read()
Console.WriteLine("ID: {0} Grade: {1}", rdr("StudentID"), rdr("Grade"))
End While
End Using
End Using
conn.Close()
End Using