gpt4 book ai didi

c# - Linq to SQL 在访问属性之前检查对象上的空值

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:01 25 4
gpt4 key购买 nike

简单来说,我的代码有更好的方法吗? (检查下面的代码)。

详情:
在 LINQ to SQL 中,我有一个包含一些内部查询的查询。在那个内部查询中,我使用了 FirstOrDefault(),所以现在我想检查 FirstOrDefault() 是否返回任何空值,然后我可以访问属性。

var Bills = db.BillMasters.Select(x => new BillHomeViewModel {
ConsumerCategory = db.ConsumerCategories.FirstOrDefault(c => c.ID == x.ConsumerCategory) == null ? String.Empty : db.ConsumerCategories.FirstOrDefault(c => c.ID == x.ConsumerCategory).CategoryName
});

最佳答案

您可以使用 DefaultIfEmpty避免 Entity Framework 不支持的三元运算符

var Bills = db.BillMasters
.Select(x => new BillHomeViewModel
{
ConsumerCategory = db.ConsumerCategories
.Where(c => c.ID == x.ConsumerCategory)
.Select(c => c.CategoryName)
.DefaultIfEmpty("")
.FirstOrDefault()
});

关于c# - Linq to SQL 在访问属性之前检查对象上的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54287113/

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