Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti dan Mengisi GridView?

Bagaimanakah Saya Boleh Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti dan Mengisi GridView?

Barbara Streisand
Lepaskan: 2024-12-29 18:14:10
asal
967 orang telah melayarinya

How Can I Retrieve Data from a Stored Procedure Using Entity Framework and Populate a GridView?

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:

  1. Klik kanan pada kawasan ruang kerja model Entiti dan pilih Tambah -> Import Fungsi.
  2. Dalam dialog Import Fungsi Tambah:

    • Masukkan nama untuk fungsi (cth., Cari_Produk).
    • Pilih prosedur CarianProduk daripada senarai juntai bawah.
    • Tetapkan nilai pulangan kepada Entiti dan pilih Produk daripada senarai juntai bawah.
  3. Kemas kini kod C#:

    • Gunakan nama fungsi (Search_Products) dalam objek Entiti untuk melaksanakan prosedur tersimpan .
    • Ikat hasil pada GridView kawalan.

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan