Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Meluluskan Parameter ke Prosedur Tersimpan dengan Betul menggunakan DbContext.Database.SqlQuery?
Gunakan DbContext.Database.SqlQuery
Dalam Kod Rangka Kerja Entiti CTP5 Pertama, anda boleh menggunakan kaedah DbContext.Database.SqlQuery<T>(sql, params)
untuk melaksanakan prosedur tersimpan. Walau bagaimanapun, anda mungkin menghadapi masalah apabila menghantar parameter kepada prosedur tersimpan yang memerlukan nama parameter yang tepat.
Untuk menyelesaikan isu ini, anda harus menyediakan contoh SqlParameter dalam format berikut:
<code class="language-csharp">context.Database.SqlQuery<我的实体类型>( "我的存储过程名称 @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3) );</code>
Ini memastikan bahawa parameter sepadan dengan betul dengan nama mereka dalam prosedur yang disimpan. Dengan memberikan nama parameter secara eksplisit, anda boleh mengelakkan ralat "Prosedur atau fungsi 'nama prosedur tersimpan saya' memerlukan parameter '@param1', tetapi ia tidak diberikan".
Kaedah ini membolehkan anda membuat pertanyaan secara dinamik terhadap prosedur yang disimpan dengan cara ditaip kuat, menjadikannya mudah untuk menggunakan Rangka Kerja Entiti untuk mendapatkan semula data daripada operasi pangkalan data yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Parameter ke Prosedur Tersimpan dengan Betul menggunakan DbContext.Database.SqlQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!