Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggunakan DbContext.Database.SqlQuery dengan betul dengan Parameter Prosedur Tersimpan?

Bagaimana untuk Menggunakan DbContext.Database.SqlQuery dengan betul dengan Parameter Prosedur Tersimpan?

Susan Sarandon
Lepaskan: 2025-01-17 12:06:14
asal
533 orang telah melayarinya

How to Correctly Use DbContext.Database.SqlQuery with Stored Procedure Parameters?

Kod EF Pertama CTP5: Menggunakan DbContext.Database.SqlQuery dengan parameter prosedur tersimpan(sql, params)

Soalan:

Pembangun menghadapi cabaran dalam menyediakan parameter apabila cuba menggunakan kaedah DbContext.Database.SqlQuery dengan prosedur tersimpan. Apabila menggunakan objek SqlParameter, SqlException dilemparkan menunjukkan bahawa parameter tidak disediakan seperti yang diharapkan.

Jawapan:

Untuk berjaya menggunakan kaedah DbContext.Database.SqlQuery dengan prosedur tersimpan yang memerlukan parameter, pendekatan berikut harus digunakan:

Penyelesaian:

Daripada menghantar objek SqlParameter secara langsung sebagai parameter, ubah suai rentetan pertanyaan SQL untuk memasukkan nama parameter bermula dengan simbol "@". Kemudian, cipta dan tetapkan kejadian SqlParameter untuk setiap parameter yang diperlukan dan berikannya sebagai parameter tambahan.

Contoh kod:

Coretan kod berikut menunjukkan penggunaan yang betul:

<code class="language-c#">context.Database.SqlQuery<我的实体类型>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>
Salin selepas log masuk

Sintaks yang dikemas kini ini harus menyelesaikan isu SqlException dan membolehkan anda menggunakan kaedah DbContext.Database.SqlQuery untuk mendapatkan semula hasil yang dikehendaki daripada prosedur yang disimpan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan DbContext.Database.SqlQuery dengan betul dengan Parameter Prosedur Tersimpan?. 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