Предположим следующее:
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
Когда я генерирую функцию import или сопоставляю возвращаемый тип, EF не генерирует сложный тип или не говорит мне:
Выбранная хранимая процедура или функция не возвращает столбцы
Как преодолеть это?
Другие ответы предлагают с использованием табличных переменных (не будем делать это по соображениям производительности) подделка схемы возврата и комментирование реальная хранимая процедура, другие предлагают делать похожие с представлениями... но должен быть способ сделать это, не добавляя лишних накладных расходов или требующих меня разбить хранимую процедуру для обновления модели?