EF non può inferire lo schema di ritorno dalla stored procedure selezionando da una tabella #temp

Supponiamo quanto segue:

CREATE PROCEDURE [MySPROC] AS BEGIN CREATE TABLE #tempSubset( [MyPrimaryKey] [bigint] NOT NULL, [OtherColumn] [int] NOT NULL) INSERT INTO #tempSubset (MyPrimaryKey, OtherColumn) SELECT SomePrimaryKey, SomeColumn FROM SomeHugeTable WHERE LimitingCondition = true SELECT MyPrimaryKey, OtherColumn FROM #tempSubset WHERE SomeExpensiveCondition = true END 

Quando genero una funzione importa o mappa un tipo restituito, EF non genera un tipo complesso o mi dice:

La stored procedure o la funzione selezionata non restituisce nessuna colonna

Come superare questo?

Altre risposte suggeriscono l’ uso di variabili di tabella (non andando a fare questo per motivi di prestazioni) simulando lo schema di ritorno e commentando la procedura memorizzata reale , altri suggeriscono di farlo con le visualizzazioni … ma ci deve essere un modo per farlo senza dover aggiungere sovraccarico non necessario o mi richiede di interrompere una stored procedure per aggiornare il modello?