Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie danych z procedury składowanej za pomocą Entity Framework

Aby rozwiązać ten problem, wykonaj następujące czynności:

  1. Musisz zaimportować procedurę składowaną jako funkcję. Kliknij prawym przyciskiem myszy obszar roboczy swojego modelu Entity i wybierz Add -> Function Import .
  2. W oknie dialogowym Dodaj funkcję importu wprowadź nazwę, do której ma odnosić się procedura składowana w modelu, na przykład Search_Products , wybierz swoją procedurę z listy rozwijanej i wybierz wartość zwracaną procedury jako Entities i wybierz Products z listy rozwijanej.
  3. Następnie w kodzie 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();
    

Powód, dla którego otrzymujesz -1 wynik jest taki, że Entity Framework nie może obsługiwać wartości zwracanych przez procedurę składowaną po wyjęciu z pudełka. Myślę, że obsługa wartości zwracanych przez procedurę składowaną zależy od wersji frameworka Entity. Ponadto Entity Framework nie obsługuje rozbudowanej obsługi procedur składowanych, ponieważ jest to ORM, a nie zamiennik SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak monitorować zmiany w tabeli programu SQL Server za pomocą c#?

  2. Transactionscope rzucający wyjątek ta platforma nie obsługuje transakcji rozproszonych podczas otwierania obiektu połączenia

  3. Jak mogę wykonać wyzwalacz PRZED AKTUALIZACJĄ z serwerem sql?

  4. Czy można uzyskać dostęp do bazy danych .mdf bez SQL Server?

  5. Jak mogę wstawić dane do SQL Server za pomocą VBNet?