欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

EF中调用存储过程,通过临时表返回一个结果集,不能返回的问题

程序员文章站 2022-07-07 15:33:11
EF调用存储过程,存储过程通过一系列处理之后,把结果集插入临时表#t中后,再返回。实际在更新数据模型时,不能生产一个结果集方法,只能生产一个返回值的方法。 通过一...

EF调用存储过程,存储过程通过一系列处理之后,把结果集插入临时表#t中后,再返回。实际在更新数据模型时,不能生产一个结果集方法,只能生产一个返回值的方法。


通过一些测试后发现,是用到临时表的问题,临时表EF不能自动生成相应的结果模型对象代码,后来建立了一个物理存储表,再生成代码时就正常了。


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
	-- Add the parameters for the stored procedure here
	<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
	<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	SELECT * FROM ModelTargetTmp;  --一个物理表
END
GO
大家有遇到类似问题吗?或者有其他解决经验可以交流哦!