假设如下:
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
当我生成函数导入或映射返回类型时,EF 不会生成复杂类型或告诉我:
选定的存储过程或函数不返回任何列
如何克服这一点?
其他答案建议使用表变量(出于性能原因不会这样做)伪造返回模式并注释掉真正的存储过程,其他答案建议对视图进行类似操作......但必须有一种方法可以做到这一点而不必添加不必要的开销或要求我打破存储过程来更新模型?