Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Импортирането на EF функция не разпознава колони, върнати от StoredProc

След като гуглих яростно, попаднах на отговора:EF4 – Избраната съхранена процедура не връща колони

EF не може да получи метаданни от съхранена процедура, която използва динамични заявки или временни таблици. Решението беше или ръчно да се създаде комплексният върнат тип, ИЛИ да се постави

SET FMTONLY OFF

в моята съхранена дефиниция на proc. Опасността при втория вариант, разбира се, е, че съхранената процедура ще бъде изпълнена, когато Visual Studio изпълни извикването на метаданни, така че това в идеалния случай ще се използва само ако съхранената процедура не променя нищо.

АКТУАЛИЗАЦИЯ:Алтернатива е да се уверите, че съхранената процедура действително работи. Друго нещо, което можете да направите, е да създадете фиктивна съхранена процедура, която връща желаните от вас колони, да се свържете с нея и след това да изпълните действителната логика.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите формата на датата, използван в текущата сесия в SQL Server (T-SQL)

  2. ПРОВЕРЕТЕ ОГРАНИЧЕНИЕТО на множество колони

  3. Изпит за администриране на Azure SQL база данни със съвети и съвети (DP-300)

  4. Използване на динамичен SQL за указване на име на колона чрез добавяне на променлива към проста sql заявка

  5. pyodbc не може да се свърже с базата данни