Linq中的Case语句用于可空的datetime字段
本文关键字:datetime 字段 用于 中的 Case 语句 Linq | 更新日期: 2023-09-27 18:09:30
我有一个基于条件填充值的可空数据时间字段的linq查询。
var result=(from t1 in context.table1
join t2 in context.table2
on t1.id equals t2.fieldId
select new model1
{
name= t2.name,
DateCompleted = t1.Status == "Success"
? Convert.ToDateTime(t1.CompletedDate)
: Null
}).ToList();
这里DateCompleted可以是空的。如果status是success,那么我只需要Completed date。否则我需要显示它为空。现在":Null"部分抛出错误。
提前感谢Subin
试试这个
var result=(from t1 in context.table1
join t2 in context.table2
on t1.id equals t2.fieldId
select new model1
{
name= t2.name,
DateCompleted = t1.Status == "Success" ? Convert.ToDateTime(t1.CompletedDate): (DateTime?)null
}).ToList();
尝试以下代码:
var result=(from t1 in context.table1
join t2 in context.table2
on t1.id equals t2.fieldId
select new model1
{
name= t2.name,
DateCompleted = t1.Status == "Success"
? Convert.ToDateTime(t1.CompletedDate)
: (DateTime?) null
}).ToList();
您需要使用可空日期时间:default(DateTime?)