【发布时间】:2017-07-19 13:51:23
【问题描述】:
USE [prjMarlin]
GO
/****** Object: StoredProcedure [dbo].[CriticalDateDiary] Script Date: 19/07/2017 3:55:51 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[CriticalDateDiary]
AS
SET NOCOUNT ON
DECLARE @ColumnsTable TABLE ([ColumnName] VARCHAR(50));
INSERT INTO @ColumnsTable ([ColumnName])
SELECT DISTINCT '[' + CONVERT(VARCHAR(48), WFStepName) + ']'
FROM vwTenureWorkFlowStepReport
--where WorkFlowId='a5a23e7e-31ea-439e-b823-179a3bd731ec'
DECLARE @PivotColumns VARCHAR(MAX), @TotalColumn VARCHAR(MAX), @SQL VARCHAR(MAX);
SET @PivotColumns = (SELECT STUFF((SELECT DISTINCT ', ' + CONVERT(VARCHAR(50), [ColumnName])
FROM @ColumnsTable
FOR XML PATH('')), 1, 2, ''));
SET @TotalColumn = (SELECT STUFF((SELECT DISTINCT ' + ISNULL(' + CONVERT(VARCHAR(50), [ColumnName]) + ', 0)'
FROM @ColumnsTable
FOR XML PATH('')), 1, 3, ''));
SET @SQL = 'SELECT *, (' + @TotalColumn + ') AS [Total]
FROM (SELECT Tenure,GETDATE() AS CurrentTime,[WFStepName],[StepExpectedEndTime]
FROM [vwRunningTenureWorkFlowStepReport]) AS t
PIVOT (MAX([StepExpectedEndTime]) FOR WFStepName IN (' + @PivotColumns + ')) AS p;';
exec(@SQL)
当我首先通过实体框架使用数据库时,这个存储过程被检测为整数而不是表数据的返回类型?有什么建议吗?
【问题讨论】:
-
所有过程都有一个int的返回值,叫做retval,是吗?
-
是的,它正在返回 retval,但我如何获得返回的数据,如图所示。是否可以从此输出创建表?即在运行时创建一个表来保存这些数据?
-
显示您的 EF 代码。
-
没有 EF 代码可显示...当我通过数据库进行更新时,检测到的返回类型是整数
标签: sql-server entity-framework stored-procedures