gpt4 book ai didi

c# - Linq to SQL,基于 If/Else 具有不同返回类型的存储过程

转载 作者:行者123 更新时间:2023-11-30 22:50:58 25 4
gpt4 key购买 nike

我有一个现有的存储过程,我现在正尝试使用 LINQ to SQL 调用它,这是存储过程:

ALTER procedure [dbo].[sp_SELECT_Security_ALL] (
@UID Varchar(15)
)
as
DECLARE @A_ID int

If ISNULL(@UID,'') = ''
SELECT DISTINCT
App_ID,
App_Name,
App_Description,
DB,
DBNameApp_ID,
For_One_EVA_List_Ind
From v_Security_ALL
ELSE
BEGIN
Select @A_ID = (Select Assignee_ID From NEO.dbo.v_Assignees Where USER_ID = @UID and Inactive_Ind = 0)

SELECT DISTINCT
Security_User_ID,
Security_Company,
Security_MailCode,
Security_Last_Name,
Security_First_Name,
Security_User_Name,
Security_User_Info,
Security_User_CO_MC,
Security_Email_Addr,
Security_Phone,
Security_Security_Level,
Security_Security_Desc,
Security_Security_Comment,
Security_Security_Inactive_Ind,
App_ID,
App_Name,
App_Description,
DB,
DBNameApp_ID,
For_One_EVA_List_Ind,
@A_ID as Assignee_ID
From v_Security_ALL
Where Security_User_ID = @UID
END

我的问题是,intellsense 只能看到 IF 语句中的第一组返回值,而我无法从存储过程的“else”部分访问任何内容。所以当我尝试这样做时:

 var apps = dataContext.sp_SELECT_Security_ALL(userId);

foreach (var app in apps)
{
string i = app.
}

在应用程序上。部分我唯一可用的值是上面第一个 Select distinct 的结果。

是否可以将 LINQ 用于此类存储过程?

最佳答案

Scott Guthrie 报道了这个案例 in a blog post .向下滚动到“处理存储过程中的多个结果形状”。

关于c# - Linq to SQL,基于 If/Else 具有不同返回类型的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com