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

Import funkcji EF nie rozpoznaje kolumn zwróconych przez StoredProc

Po wściekłym googlowaniu natknąłem się na odpowiedź:EF4 — wybrana procedura składowana nie zwraca żadnych kolumn

EF nie może pobrać metadanych z przechowywanej procedury, która używa zapytań dynamicznych lub tabel tymczasowych. Rozwiązaniem było ręczne utworzenie złożonego zwracanego typu LUB umieszczenie

SET FMTONLY OFF

w mojej zapisanej definicji proc. Niebezpieczeństwo związane z drugą opcją polega oczywiście na tym, że procedura składowana zostanie wykonana, gdy Visual Studio wykona wywołanie metadanych, więc idealnie byłoby to używane tylko wtedy, gdy procedura składowana niczego nie zmienia.

AKTUALIZACJA:Alternatywą jest upewnienie się, że procedura składowana faktycznie działa. Inną rzeczą, którą możesz zrobić, to utworzyć fikcyjną procedurę składowaną, która zwraca żądane kolumny, łączy się z nimi, a następnie wykonuje właściwą logikę.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie listy do procedury składowanej TSQL 2008

  2. Co to jest Azure Data Studio?

  3. serwer sql przekonwertować datetime na inną strefę czasową?

  4. Czy SQL Server może wysłać żądanie internetowe?

  5. Jaki jest powód użycia kontekstu Transakcji przez inną sesję?