sql >> Databáze >  >> RDS >> Sqlserver

Získávání dat z uložené procedury pomocí Entity Framework

K vyřešení tohoto problému použijte následující kroky:

  1. Musíte importovat uloženou proceduru jako funkci. Klikněte pravým tlačítkem na oblast pracovního prostoru vašeho modelu entity a zvolte Add -> Function Import .
  2. V dialogovém okně Add Function Import zadejte název, který chcete, aby se na vaši uloženou proceduru odkazovalo ve vašem modelu, například Search_Products , vyberte svou proceduru z rozevíracího seznamu a zvolte návratovou hodnotu procedury na Entities a vyberte Products z rozevíracího seznamu.
  3. Pak v kódu za:

    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();
    

Důvod, proč jste dostali -1 výsledkem je, že Entity Framework nemůže po vybalení podporovat hodnoty Stored Procedure Return. Myslím, že podpora návratových hodnot uložené procedury závisí na verzi Entity framework. Entity Framework také nemá bohatou podporu uložených procedur, protože jde o ORM, nikoli o náhradu SQL.



  1. Spouštěče MySQL nemohou aktualizovat řádky ve stejné tabulce, ke které je spouštěč přiřazen. Navrhované řešení?

  2. Převeďte znaky latin1 v tabulce UTF8 na UTF8

  3. Chyba instalace mysql-python:Nelze otevřít začleněný soubor 'config-win.h'

  4. Top-N dotazy a stránkování v Oracle