Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk memanggil prosedur yang disimpan dengan parameter dalam Rangka Kerja Entiti 6 Kod pertama?
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>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>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>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!