gpt4 book ai didi

c# - LINQ:检查字段 (db) 是否包含 ILIST 中的项目?

转载 作者:行者123 更新时间:2023-11-30 20:13:28 25 4
gpt4 key购买 nike

我正在尝试创建一个扩展方法,我可以转发一个 IList 状态并检查它们是否存在,我认为最好的方法是 ILIST - 但也许我错了?这是将多个项目传递给方法的最佳方式吗?列表?它是一个通用的 LIST,因此没有来自 Object 的转换等。

基本上我有这个作为签名。

    public static IQueryable<Building> WithStatus(this IQueryable<Building> qry,
IList<BuildingStatuses> buildingStatus)
{

//PSUEDO CODE
//return from v in qry
// where v.Status is IN MY LIST called buildingStatus
// select v;
}

我使用它来调用它(下面的示例在我的 TDD 中),它非常有效,值到达我上面的方法。

    target.GetBuildings().WithStatus(new List<BuildingFilters.BuildingStatuses>() 
{ BuildingFilters.BuildingStatuses.Available,
BuildingFilters.BuildingStatuses.Decommissioned });

所以基本上我有我的列表 (IList),它以 2 个值到达扩展方法,这很好但需要在 LINQ 中说我需要说

        return from v in qry
where v.Status is IN MY LIST called buildingStatus
select v;

非常感谢任何帮助,

关于我的扩展方法,它的工作原理与我所做的类似 1 但仅传递类型 BuildingStatus 因此仅 1...

最佳答案

这对你有用吗:

return from v in qry
where buildingStatus.Contains(v.Status)
select v;

关于c# - LINQ:检查字段 (db) 是否包含 ILIST 中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1566031/

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