Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Berjaya Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti dalam ASP.NET?
Menggunakan Rangka Kerja Entiti untuk Mengambil Data daripada Prosedur Tersimpan
Dalam bidang pembangunan web, keperluan sering timbul untuk mengisi set data dalam aplikasi daripada sumber data. Di sinilah Rangka Kerja Entiti memainkan peranan, menyediakan antara muka berorientasikan objek untuk berinteraksi dengan pangkalan data. Walau bagaimanapun, apabila ia datang untuk mendapatkan semula data daripada prosedur yang disimpan, cabaran tertentu mungkin dihadapi.
Pertimbangkan prosedur tersimpan berikut dalam Pelayan SQL:
ALTER PROCEDURE dbo.SearchProducts @SearchTerm VARCHAR(max) AS BEGIN DECLARE @query VARCHAR(max) SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%''' EXEC(@query) END
Dalam percubaan untuk mendapatkan semula data daripada ini prosedur tersimpan menggunakan Rangka Kerja Entiti 6.1.1 dan mengisi kawalan GridView, kod C# berikut mungkin digunakan:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.SearchProducts(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
Walau bagaimanapun, selepas melaksanakan kod dalam aplikasi ASP.NET, pengecualian berlaku, dengan pembolehubah hasil mengembalikan -1 dan bukannya Set Data IEnumerable yang dikehendaki. Untuk menangani isu ini dan berjaya mendapatkan semula data, langkah berikut harus diikuti:
Import Prosedur Tersimpan sebagai Fungsi:
Konfigurasikan Import Fungsi:
Ubah suai Kod Di belakang:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); // Replace "SearchProducts" with your chosen function name MyGridView.DataSource = result; MyGridView.DataBind();
Kaedah ini menyelesaikan isu dengan mengimport yang disimpan prosedur sebagai fungsi dalam model Rangka Kerja Entiti, membolehkan ia diakses dan dilaksanakan dengan nilai pulangan ditetapkan kepada IEnumerable Dataset.
Adalah penting untuk ambil perhatian bahawa walaupun Rangka Kerja Entiti menyediakan mekanisme yang mudah untuk berinteraksi dengan pangkalan data, sokongannya untuk prosedur tersimpan adalah terhad dan tidak dapat mengendalikan nilai pemulangan prosedur tersimpan secara asli.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti dalam ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!