Mengakses Data daripada Prosedur Tersimpan dengan Rangka Kerja Entiti
Artikel ini menangani cabaran untuk mendapatkan semula data daripada prosedur tersimpan SQL dinamik menggunakan Rangka Kerja Entiti 6.1 .1. Matlamatnya adalah untuk mengisi kawalan GridView dengan data yang diambil.
Senario ini melibatkan prosedur tersimpan yang dipanggil SearchProducts yang menerima istilah carian sebagai parameter dan mengembalikan set hasil berdasarkan pertanyaan SQL dinamik. Kod C# cuba untuk melaksanakan prosedur tersimpan dan mengikat hasilnya kepada kawalan GridView.
Masalahnya
Apabila kod dilaksanakan, prosedur tersimpan berfungsi dalam Penjelajah Pangkalan Data tetapi gagal dalam aplikasi yang sedang berjalan, mengembalikan -1 dan bukannya IEnumerable DataSet. Ini menunjukkan bahawa data tidak berjaya diambil.
Penyelesaian
Untuk menyelesaikan isu ini, prosedur tersimpan perlu diimport sebagai Fungsi dalam Entiti model. Berikut ialah langkahnya:
Dalam dialog Import Fungsi Tambah:
Kemas kini kod C#:
Kod yang disemak:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
Penjelasan
Rangka Kerja Entiti tidak mempunyai sokongan penuh untuk disimpan nilai pulangan prosedur. Mengimport prosedur tersimpan sebagai Fungsi membolehkan prosedur itu dianggap sebagai kaedah Rangka Kerja Entiti, yang boleh mengendalikan pengambilan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti dan Mengisi GridView?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!