Menggunakan DbContext.Database.SqlQuery<TElement>(sql, params)
dengan Prosedur Tersimpan dalam Kod EF Didahulukan
Melaksanakan prosedur tersimpan dengan parameter menggunakan DbContext.Database.SqlQuery<TElement>(sql, params)
boleh menimbulkan kesukaran.
Masalah:
Pendekatan ini, apabila digunakan dengan prosedur tersimpan yang memerlukan parameter, selalunya menghasilkan mesej ralat seperti:
<code>"Procedure or function 'mySpName' expects parameter '@param1', which was not supplied."</code>
Penyelesaian:
Penyelesaian melibatkan pembekalan SqlParameter
objek dalam struktur yang betul:
<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>
Menyediakan SqlParameter
kejadian memastikan prosedur yang disimpan menerima parameter yang diperlukan, yang membawa kepada pelaksanaan yang berjaya dan perolehan semula data.
Atas ialah kandungan terperinci Bagaimana Menggunakan DbContext.Database.SqlQuery dengan Betul dengan Parameter Prosedur Tersimpan dalam Kod EF Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!