这是存储过程的简化版本
ALTER PROCEDURE [dbo].[StoredProc1] ( @PageIndex INT = 1,@RecordCount INT = 20,@Gender NVARCHAR(10) = NULL ) AS BEGIN SET NOCOUNT ON ; WITH tmp1 AS ( SELECT u.UserId,MIN(cl.ResultField) AS BestResult FROM [Users] u INNER JOIN Table1 tbl1 ON tbl1.UserId = u.UserId WHERE (@Gender IS NULL OR u.Gender = @Gender) GROUP BY u.UserID ORDER BY BestResult OFFSET @PageIndex * @RecordCount ROWS FETCH NEXT @RecordCount ROWS ONLY ) SELECT t.UserId,t.BestResult,AVG(cl.ResultField) AS Average INTO #TmpAverage FROM tmp1 t INNER JOIN Table1 tbl1 ON tbl1.UserId = t.UserId GROUP BY t.UserID,t.BestResult ORDER BY Average SELECT u.UserId,u.Name,u.Gender,t.Average FROM #tmpAverage t INNER JOIN Users u on u.UserId = t.UserId DROP TABLE #TmpAverage END
当我使用EF6加载存储过程,然后转到“编辑函数导入”对话框时,不会显示任何列.即使在我要求检索列之后,我也收到了SP不返回列的消息.当我从SMMS执行SP时,我得到了预期的[UserId,Name,Gender,BestResult,Average]记录列表.
任何想法如何调整存储过程或EF6使其工作?
提前致谢
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。