Heim > Backend-Entwicklung > C++ > Wie rufe ich gespeicherte Prozeduren mit Parametern im Entität Framework 6 Code-First auf?

Wie rufe ich gespeicherte Prozeduren mit Parametern im Entität Framework 6 Code-First auf?

Mary-Kate Olsen
Freigeben: 2025-01-29 01:46:13
Original
717 Leute haben es durchsucht

How to Call Stored Procedures with Parameters in Entity Framework 6 Code-First?

Entity Framework 6 Code-First: Effizient aufgereicherte Prozeduren mit Parametern

aufrufen

Im Code-ersten-Ansatz von Entity Framework 6 ist die Nutzung gespeicherter Verfahren für komplexe Datenbankinteraktionen von wesentlicher Bedeutung. Eine häufige Herausforderung besteht darin, gespeicherte Verfahren effektiv aufzurufen und Parameterübergang zu verwalten.

veranschaulichen wir eine gespeicherte Prozedur, mit der eine Abteilung eingefügt wurde:

<code class="language-sql">ALTER PROCEDURE [dbo].[insert_department]
    @Name [varchar](100)
AS
BEGIN
    INSERT [dbo].[Departments]([Name])
    VALUES (@Name)

    DECLARE @DeptId int

    SELECT @DeptId = [DeptId]
    FROM [dbo].[Departments]
    WHERE @@ROWCOUNT > 0 AND [DeptId] = SCOPE_IDENTITY()

    SELECT t0.[DeptId]
    FROM [dbo].[Departments] AS t0
    WHERE @@ROWCOUNT > 0 AND t0.[DeptId] = @DeptId
END</code>
Nach dem Login kopieren

Um diese gespeicherte Prozedur in Ihren Entitäts -Framework -Kontext zu integrieren

<code class="language-csharp">modelBuilder
    .Entity<department>()
    .MapToStoredProcedures(s =>
    {
        s.Update(u => u.HasName("modify_department")
                      .Parameter(b => b.Department, "department_id")
                      .Parameter(b => b.Name, "department_name"))
          .Delete(d => d.HasName("delete_department")
                      .Parameter(b => b.DepartmentId, "department_id"))
          .Insert(i => i.HasName("insert_department")
                      .Parameter(b => b.Name, "department_name"));
    });</code>
Nach dem Login kopieren
Mit dieser Zuordnung können Sie die gespeicherte Prozedur direkt von Ihrem DBContext aufrufen:

<code class="language-csharp">this.Database.SqlQuery<department>("insert_department", new SqlParameter("@Name", departmentName));</code>
Nach dem Login kopieren
Für gespeicherte Prozeduren, die mehrere Ergebnissätze zurückgeben (wie im Beispiel gezeigt), wenden Sie sich an die Dokumentation von Microsoft zu "gespeicherten Prozeduren mit mehreren Ergebnismengen" für Best Practices bei der Behandlung der zurückgegebenen Daten. Dadurch wird Anleitung zur effizienten Verarbeitung der Mehrfachdatensätze vorgesehen.

Das obige ist der detaillierte Inhalt vonWie rufe ich gespeicherte Prozeduren mit Parametern im Entität Framework 6 Code-First auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage