Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique fournit deux exemples illustrant comment exécuter une procédure stockée paramétrable avec Entity Framework . Le premier exemple accepte un paramètre d'entrée et retourne une collection d'objets entité. Le second exemple accepte un paramètre d'entrée et un paramètre de sortie et retourne une valeur dans le paramètre de sortie. Les exemples de cette rubrique sont basés sur le modèle School. Pour suivre ces exemples, ajoutez le Modèle School à votre projet et configurez votre projet pour utiliser Entity Framework . Pour plus d'informations, consultez Procédure : utiliser l'Assistant Entity Data Model (Entity Framework).
Exemple
Le code suivant exécute une procédure stockée GetStudentGrades dans laquelle StudentId est un paramètre requis. Pour exécuter cet exemple de code, importez la procédure stockée GetStudentGrades et spécifiez des entités CourseGrade comme type de retour. Pour plus d'informations sur la manière d'importer une procédure stockée, consultez How to: Import Stored Procedures.
' Specify the Student ID.
Dim studentId As Integer = 2
Using context As New SchoolEntities()
For Each grade As StudentGrade In context.GetStudentGrades(studentId)
Console.WriteLine("StudentID: " & studentId)
Console.WriteLine("Student grade: " & grade.Grade)
Next
End Using
// Specify the Student ID.
int studentId = 2;
using (SchoolEntities context =
new SchoolEntities())
{
foreach (StudentGrade grade in
context.GetStudentGrades(studentId))
{
Console.WriteLine("StudentID: " + studentId);
Console.WriteLine("Student grade: " + grade.Grade);
}
}
Le code suivant exécute la procédure stockée GetDepartmentName qui retourne le nom du service dans le paramètre de sortie. Pour exécuter cet exemple de code :
ajoutez la procédure suivante à la base de données School :
CREATE PROCEDURE [dbo].[GetDepartmentName] @ID int, @Name nvarchar(50) OUTPUT AS SELECT @Name = Name FROM Department WHERE DepartmentID = @IDMettez à jour le modèle School de la base de données en ajoutant la procédure stockée
GetDepartmentName. Pour plus d'informations, consultez How to: Update an .edmx File when the Database Changes.Importez la procédure stockée
GetDepartmentNameet spécifiez None comme type de retour pour cette procédure stockée. Pour plus d'informations, consultez How to: Import a Stored Procedure.
Using context As New SchoolEntities()
' name is an output parameter.
Dim name As New ObjectParameter("Name", GetType(String))
context.GetDepartmentName(1, name)
Console.WriteLine(name.Value)
End Using
using (SchoolEntities context =
new SchoolEntities())
{
// name is an output parameter.
ObjectParameter name = new ObjectParameter("Name", typeof(String));
context.GetDepartmentName(1, name);
Console.WriteLine(name.Value);
}