Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggunakan DbContext.Database.SqlQuery dengan Prosedur dan Parameter Tersimpan dalam Kod EF CTP5 Pertama?

Bagaimana untuk Menggunakan DbContext.Database.SqlQuery dengan Prosedur dan Parameter Tersimpan dalam Kod EF CTP5 Pertama?

Patricia Arquette
Patricia Arquetteasal
2025-01-17 11:57:09268semak imbas

How to Use DbContext.Database.SqlQuery with Stored Procedures and Parameters in EF Code First CTP5?

Gunakan DbContext.Database.SqlQuery untuk memanggil prosedur tersimpan dalam Kod Rangka Kerja Entiti CTP5 Pertama

Kaedah

Kod Rangka Kerja Entiti CTP5 Pertama DbContext.Database.SqlQuery<TElement>(sql, params) membenarkan memanggil prosedur tersimpan dan mendapatkan semula keputusan sebagai senarai objek jenis TElement. Walau bagaimanapun, jika prosedur tersimpan memerlukan parameter, ia mesti dinyatakan dalam panggilan ke SqlQuery.

Parameter SqlParameter

Apabila menyediakan objek SqlParameter sebagai parameter, nama parameter mesti disertakan dalam pertanyaan SQL dan didahului dengan simbol @. Sebagai contoh, untuk prosedur tersimpan yang memerlukan tiga parameter, anda akan menentukan pertanyaan berikut:

<code class="language-sql">"mySpName @param1, @param2, @param3"</code>

Anda kemudian akan mencipta tiga SqlParameter objek dan menghantarnya ke SqlQuery seperti ini:

<code class="language-csharp">context.Database.SqlQuery<MyEntityType>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>

Perhatikan bahawa nama parameter dalam objek SqlParameter mesti sepadan dengan nama parameter dalam prosedur tersimpan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan DbContext.Database.SqlQuery dengan Prosedur dan Parameter Tersimpan dalam Kod EF CTP5 Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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