我正在尝试使用Entity Framework 4.1调用下面附带的存储过程来涵盖2种可能的场景:
exec TEST_SP_OUTPUT 1 应从ACTIONTYPE表和@Success = 1
exec TEST_SP_OUTPUT 0 没有返回数据集,@ Success = 0
CREATE PROCEDURE [dbo].[TEST_SP_OUTPUT]
(
@Id int,
@Success int OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
IF (@Id = 1)
BEGIN
SELECT ActionName, ActionType FROM ACTIONTYPE
SET @Success = 1;
END
ELSE
SET @Success = 0;
END
问题是:我可以在Entity Framework模型中使用单一复杂类型处理两次执行吗? 请记住,方案“exec TEST_SP_OUTPUT 0”未返回任何数据集或列。
如果我错了,请纠正我,但我可能的解决办法可能是为第二种情况设置虚拟结果:
CREATE PROCEDURE [dbo].[TEST_SP_OUTPUT]
(
@Id int,
@Success int OUTPUT
)
AS
BEGIN
SET NOCOUNT ON;
IF (@Id = 1)
BEGIN
SELECT ActionName, ActionType FROM ACTIONTYPE
SET @Success = 1;
END
ELSE
BEGIN
SELECT '' as ActionName, '' as ActionType
SET @Success = 0;
END
END
干杯。
涓。