编写LINQ尝试创建要在C#程序中运行的LINQ
我目前正在创建一个下拉列表,并希望找到帮助编写LINQ查询 以下是我尝试复制的SQL:编写LINQ尝试创建要在C#程序中运行的LINQ,linq,Linq,我目前正在创建一个下拉列表,并希望找到帮助编写LINQ查询 以下是我尝试复制的SQL: select IIf ( TA.[LeaseDeptSubmittal] IS NOT NULL AND TA.[LeaseDeptComplete] IS NULL, 'Lease Dept', IIf ( TA.[CompleteDate] IS NULL
select
IIf
(
TA.[LeaseDeptSubmittal] IS NOT NULL
AND TA.[LeaseDeptComplete] IS NULL, 'Lease Dept',
IIf
(
TA.[CompleteDate] IS NULL
AND TA.[RequestAddtnlInfo] IS NOT NULL, 'Need Info',
IIf
(
TA.[RequestDate] IS NULL, '',
IIf
(
TA.[RequestDate] IS NOT NULL
AND TA.[CompleteDate] IS NULL, 'Pending', 'Complete'
)
)
)
) ,
Id
from Tasks TA
您可以将
IIF
相当直接地转换为C#(LINQ)三元条件运算符,然后您就可以按照我的
我通常不会以这种方式缩进?:
,但是嵌套非常深(在一种情况下是不必要的冗余),所以我将所有内容都移到了左边
我会像这样重新工作,以删除冗余测试,并清理一些逻辑:
var ans = from TA in Tasks
select new {
Status = (TA.LeaseDeptSubmittal != null &&
TA.LeaseDeptComplete == null)
? "Lease Dept"
: TA.CompleteDate != null
? "Complete"
: TA.RequestAddtnlInfo != null
? "Need Info"
: TA.RequestDate != null
? "Pending"
: "",
TA.Id
};
好啊那么你的问题是什么?你试过什么?你面临什么问题?这不是免费的“编写我的代码”服务,但我们将帮助您自己尝试解决问题。另外,这是为哪个DBMS编写的?使用
IIf
表示可能是Access还是SQL Server?但这将有助于我们确定。我很抱歉,我对这一切都不熟悉(昨天船上放了我,我还有外星脑细胞,如果你能帮忙,我会通过paypal寄美元);正确,我正在尝试将Access db转换为mvc5网站。我已经做了一些涉及多个连接的LINQ查询,但这是我第一次看到它这样做,所以我想我只是感到困惑。这就是我到目前为止所做的(但我正在尝试使用LINQ):公共字符串GetStatus(Task任务){string result=string.Empty;if(Task.leasedeptsubmission!=null&&Task.LeaseDeptComplete!=null){result=“Lease Dept”}else{if(Task.Completedate==null&&Task.RequestAddtnlInfo!=null){result=“Need Info”}else{if(Task.RequestDate==null){result=string.Empty;}否则{if(Task.RequestDate!=null&&Task.Completedate==null){result=“Pending”}else{result=“Complete”;}}}}返回结果;}edit
按钮有助于为问题添加信息。不要在评论中这样做。
var ans = from TA in Tasks
select new {
Status = (TA.LeaseDeptSubmittal != null &&
TA.LeaseDeptComplete == null)
? "Lease Dept"
: TA.CompleteDate != null
? "Complete"
: TA.RequestAddtnlInfo != null
? "Need Info"
: TA.RequestDate != null
? "Pending"
: "",
TA.Id
};