Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti Tanpa Mendapat Set Data Kosong?

Bagaimana untuk Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti Tanpa Mendapat Set Data Kosong?

Mary-Kate Olsen
Lepaskan: 2025-01-03 10:25:41
asal
240 orang telah melayarinya

How to Retrieve Data from a Stored Procedure Using Entity Framework Without Getting an Empty Dataset?

Mengambil Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti

Masalah:
Pembangun menghadapi kesukaran mendapatkan data daripada prosedur yang disimpan apabila menggunakan Rangka Kerja Entiti (EF), menghasilkan set data kosong (-1) dan bukannya yang dijangkakan data.

Prosedur Tersimpan:

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

Kod C#:

var db = new MyEntities();
var TEST_SEARCH_TERM = "product";
var result = db.SearchProducts(TEST_SEARCH_TERM);

MyGridView.DataSource = result;
MyGridView.DataBind();
Salin selepas log masuk

Penyelesaian:
Untuk menyelesaikan isu ini, ikuti ini langkah:

  1. Import Prosedur Tersimpan sebagai Fungsi:

    • Klik kanan pada kawasan ruang kerja model Entiti anda dan pilih "Tambah" -> "Import Fungsi."
    • Masukkan nama yang diingini untuk prosedur yang disimpan (cth., Cari_Produk) dan pilih prosedur daripada senarai juntai bawah.
    • Tetapkan nilai pulangan kepada "Entiti" dan pilih "Produk" sebagai entiti taip.
  2. Kemas kini Kod Di Belakang:

    • Ganti kod sedia ada dengan yang berikut:

      var db = new MyEntities();
      var TEST_SEARCH_TERM = "product";
      var result = db.Search_Products(TEST_SEARCH_TERM); // Search_Products is the name specified in the Function Import dialog
      
      MyGridView.DataSource = result;
      MyGridView.DataBind();
      Salin selepas log masuk

Dengan mengimport prosedur tersimpan sebagai fungsi, Rangka Kerja Entiti boleh mendapatkan semula dan mengembalikan data daripada prosedur tersimpan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Data daripada Prosedur Tersimpan Menggunakan Rangka Kerja Entiti Tanpa Mendapat Set Data Kosong?. 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