gpt4 book ai didi

c# - LINQ 中的 ISNULL 等价物

转载 作者:太空狗 更新时间:2023-10-30 00:30:32 28 4
gpt4 key购买 nike

我有一个包含列 IsActive 的表,现在我想获取具有给定状态的记录列表,但我想处理 IsActive,空值为 false。在 SQL 中我们使用了:

SELECT * FROM dbo.Table c WHERE ISNULL(IsActive, 0) = @act 

如何使用 LINQ 做到这一点?

P.S.:我正在使用 LINQ to Entities,所以我不能使用函数来转换值,例如:

Table.Where(t=> Parse(t.IsActive) == act)

bool Parse(bool? val){
return val == true? true : false;
}

我能想到的方法是:

Table.Where(t=> (t.IsActive==null || t.IsActive == false) && act == false)
|| (t.IsActive==true && act == true));

但这个解决方案似乎很差,我认为应该有更好的方法。

最佳答案

您可以使用 ?? 运算符代替 ISNULL:

Table.Where(t=> (t.IsActive ?? false) == act);

关于c# - LINQ 中的 ISNULL 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35536372/

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