gpt4 book ai didi

c# - 如果查询为空而不检查大小,则 Linq 并选择默认值

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

而不是检查原始查询是否有任何项目,这可以简化吗?我讨厌做这种检查,并在这种检查之后分配一个默认值。

顺便说一句,这是一个 Entity Framework 查询,因此它需要成为整个查询的一部分。

LogoId = (from t in a.Event.Assets
where t.Type == EventAssetType.Logo
select t.AssetId).Any() ? (from t in a.Event.Assets
where t.Type == EventAssetType.Logo
select t.AssetId).FirstOrDefault() : (a.Event.Organization != null && a.Event.Organization.OrganizationAsset != null ? a.Event.Organization.OrganizationAsset.AssetId : 0),

最佳答案

DefaultIfEmpty 有一个带参数的重载。

LogoId = (from t in a.Event.Assets
where t.Type == EventAssetType.Logo
select t.AssetId)
.DefaultIfEmpty((a.Event.Organization != null && a.Event.Organization.OrganizationAsset != null ? a.Event.Organization.OrganizationAsset.AssetId : 0)).First();

关于c# - 如果查询为空而不检查大小,则 Linq 并选择默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25998641/

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