Gunakan langkah-langkah berikut untuk mengatasi masalah ini:
- Anda perlu Mengimpor prosedur tersimpan sebagai Fungsi. Klik kanan pada area ruang kerja model Entitas Anda dan pilih
Add -> Function Import
. - Dalam dialog Tambah Fungsi Impor, masukkan nama yang Anda inginkan untuk dirujuk ke prosedur tersimpan dalam model Anda, misalnya
Search_Products
, pilih prosedur Anda dari daftar tarik-turun, dan pilih nilai pengembalian prosedur menjadiEntities
dan pilihProducts
dari daftar tarik-turun. -
Kemudian pada kode di belakang:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM);//Search_Products is the name that you specified in Function Import dialog MyGridView.DataSource = result; MyGridView.DataBind();
Alasan Anda mendapatkan -1
hasilnya adalah Entity Framework tidak dapat mendukung nilai Stored Procedure Return di luar kotak. Saya pikir dukungan nilai pengembalian prosedur tersimpan tergantung pada versi kerangka kerja Entitas. Entity Framework juga tidak memiliki dukungan prosedur tersimpan yang kaya karena merupakan ORM, bukan pengganti SQL.