Procédure : exécuter une procédure stockée paramétrable à l'aide d'EntityCommand (EntityClient)
Cette rubrique fournit un exemple d'exécution d'une procédure stockée paramétrable en utilisant EntityCommand. Cet exemple utilise la procédure stockée et un modèle de données implémenté dans Procédure : définir un modèle avec une procédure stockée (Entity Framework). Pour plus d'informations sur la configuration de votre projet et pour obtenir un exemple d'exécution d'une procédure stockée à l'aide d'Object Services, voir Procédure : exécuter une requête à l'aide d'une procédure stockée (Entity Framework).
Exemple
Le code suivant exécute une procédure stockée paramétrable où SalesOrderHeaderId est un paramètre requis. Les résultats sont ensuite lus par EntityDataReader.
Using conn As EntityConnection = New EntityConnection("name=AdventureWorksEntities")
conn.Open()
Try
' Create an EntityCommand.
Using cmd As EntityCommand = conn.CreateCommand()
cmd.CommandText = "AdventureWorksEntities.GetOrderDetails"
cmd.CommandType = CommandType.StoredProcedure
Dim param As New EntityParameter()
param.Value = "43659"
param.ParameterName = "SalesOrderHeaderId"
cmd.Parameters.Add(param)
Using rdr As EntityDataReader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)
Do While rdr.Read
' Read the results returned by the stored procedure.
Console.WriteLine("Header#: {0} " & _
"Order#: {1} ProductID: {2} Quantity: {3} Price: {4}", _
rdr.Item(0), rdr.Item(1), rdr.Item(2), rdr.Item(3), rdr.Item(4))
Loop
End Using
End Using
Catch ex As EntityException
Console.WriteLine(ex.ToString())
End Try
conn.Close()
End Using
using (EntityConnection conn =
new EntityConnection("name=AdventureWorksEntities"))
{
conn.Open();
try
{
// Create an EntityCommand.
using (EntityCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "AdventureWorksEntities.GetOrderDetails";
cmd.CommandType = CommandType.StoredProcedure;
EntityParameter param = new EntityParameter();
param.Value = "43659";
param.ParameterName = "SalesOrderHeaderId";
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("Header#: {0} " +
"Order#: {1} ProductID: {2} Quantity: {3} Price: {4}",
rdr[0], rdr[1], rdr[2], rdr[3], rdr[4]);
}
}
}
}
catch (EntityException ex)
{
Console.WriteLine(ex.ToString());
}
conn.Close();
}