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
.
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!