Vorgehensweise: Ausführen einer parametrisierten gespeicherten Prozedur mithilfe von „EntityCommand“
In diesem Thema wird beschrieben, wie eine parametrisierte gespeicherte Prozedur mithilfe der EntityCommand-Klasse ausgeführt wird.
So führen Sie den Code in diesem Beispiel aus
Fügen Sie dem Projekt das Modell „School“ hinzu, und konfigurieren Sie das Projekt für die Verwendung von Entity Framework. Weitere Informationen finden Sie unter Gewusst wie: Verwenden des Entity Data Model-Assistenten.
Fügen Sie der Codepage Ihrer Anwendung die folgenden
using
-Direktiven (Imports
in Visual Basic) hinzu: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
Importieren Sie die gespeicherte
GetStudentGrades
-Prozedur, und geben SieCourseGrade
-Entitäten als Rückgabetyp an. Weitere Informationen zum Importieren einer gespeicherten Prozedur finden Sie unter Importieren einer gespeicherten Prozedur.
Beispiel
Der folgenden Code führt die gespeicherte GetStudentGrades
-Prozedur aus. Dabei ist StudentId
ein erforderlicher Parameter. Die Ergebnisse werden dann von einer EntityDataReader gelesen.
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