Sto cercando di eseguire la query seguenteImpossibile leggere viste di sistema in Entity Framework
SELECT object_id
FROM sys.tables
WHERE sys.tables.name = 'Projects'
come
int n = context.Database.SqlQuery<int>(
"SELECT object_id from sys.tables where sys.tables.name = 'Projects'")
.FirstOrDefault();
ottengo n come sempre 0
Se uso SqlConnection
e interrogazione usando un SqlCommand
ottengo i risultati corretti. Quindi, perché DbContext.Database.Connection
non mi consente di eseguire una semplice query SQL?
Per semplicità ho rimosso SqlParameter
, quindi sono consapevole che questo codice non è sicuro per SQL Injection.
Penso che il nome della tabella non esista. Se eseguo la query (dopo aver cambiato il nome in qualcosa di valido) funziona bene –