Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk memanggil prosedur yang disimpan dengan parameter dalam Rangka Kerja Entiti 6 Kod pertama?

Bagaimana untuk memanggil prosedur yang disimpan dengan parameter dalam Rangka Kerja Entiti 6 Kod pertama?

Mary-Kate Olsen
Lepaskan: 2025-01-29 01:46:13
asal
717 orang telah melayarinya

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

Rangka Kerja Entiti 6 Kod-Pertama: Memanggil Prosedur Disimpan dengan cekap dengan Parameter

Dalam pendekatan entiti Rangka 6 kod-pertama, memanfaatkan prosedur yang disimpan adalah penting untuk interaksi pangkalan data yang kompleks. Cabaran umum melibatkan secara berkesan memanggil prosedur tersimpan dan menguruskan parameter lulus.

mari kita ilustrasikan dengan prosedur tersimpan yang direka untuk memasukkan jabatan:

<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>
Salin selepas log masuk
untuk mengintegrasikan prosedur tersimpan ini ke dalam konteks rangka entiti anda, memetakannya dalam model anda:

<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>
Salin selepas log masuk
Pemetaan ini membolehkan anda memanggil prosedur yang disimpan terus dari dbContext anda:

<code class="language-csharp">this.Database.SqlQuery<department>("insert_department", new SqlParameter("@Name", departmentName));</code>
Salin selepas log masuk
Untuk prosedur yang disimpan yang mengembalikan pelbagai set hasil (seperti yang ditunjukkan dalam contoh), rujuk dokumentasi Microsoft mengenai "Prosedur yang disimpan dengan pelbagai set hasil" untuk amalan terbaik dalam mengendalikan data yang dikembalikan. Ini akan memberikan panduan untuk memproses dataset berganda dengan cekap.

Atas ialah kandungan terperinci Bagaimana untuk memanggil prosedur yang disimpan dengan parameter dalam Rangka Kerja Entiti 6 Kod pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan