sql >> Database >  >> RDS >> Sqlserver

Gegevens ophalen uit opgeslagen procedure met Entity Framework

Gebruik de volgende stappen om dit probleem op te lossen:

  1. U moet de opgeslagen procedure importeren als een functie. Klik met de rechtermuisknop op het werkruimtegebied van uw entiteitsmodel en kies Add -> Function Import .
  2. Voer in het dialoogvenster Functie-import toevoegen de naam in waarnaar uw opgeslagen procedure moet verwijzen in uw model, bijvoorbeeld Search_Products , kies uw procedure uit de vervolgkeuzelijst en kies als retourwaarde van de procedure Entities en kies Products uit de vervolgkeuzelijst.
  3. Dan in de code erachter:

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

De reden dat je -1 . krijgt voor resultaat is dat Entity Framework geen standaard waarden voor Stored Procedure Return kan ondersteunen. Ik denk dat ondersteuning van opgeslagen procedure-retourwaarden afhankelijk is van de versie van het Entity-framework. Entity Framework heeft ook geen uitgebreide ondersteuning voor opgeslagen procedures omdat het een ORM is en geen SQL-vervanging.



  1. Het gegevenstype van een kolom wijzigen in SQL Server (T-SQL)

  2. Een tabel maken in MySQL Workbench met behulp van de GUI

  3. Voeg de ordinale indicator toe aan een datum in PostgreSQL

  4. NLSSORT() Functie in Oracle