Sdílet prostřednictvím


Gewusst wie: Ausführen einer parametrisierten gespeicherten Prozedur mithilfe von EntityCommand (EntityClient)

In diesem Thema wird anhand eines Beispiels gezeigt, wie eine parametrisierte gespeicherte Prozedur mithilfe von EntityCommand ausgeführt wird. In diesem Beispiel werden die gespeicherte Prozedur und das Datenmodell verwendet, die im Thema Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework) implementiert werden. Informationen über die Konfiguration eines Projekts und ein Beispiel zur Ausführung einer gespeicherten Prozedur mithilfe von Object Services finden Sie unter Gewusst wie: Ausführen einer Abfrage mithilfe einer gespeicherten Prozedur (Entity Framework).

Beispiel

Im folgenden Code wird eine parametrisierte gespeicherte Prozedur ausgeführt. Dabei ist SalesOrderHeaderId ein erforderlicher Parameter. Die Ergebnisse werden dann von EntityDataReader gelesen.

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();
}

Siehe auch

Weitere Ressourcen

Arbeiten mit EntityClient (Entity Framework-Aufgaben)