gpt4 book ai didi

c# - 从 IQueryable LINQ 查询中获取 ICollection

转载 作者:行者123 更新时间:2023-11-30 19:09:56 26 4
gpt4 key购买 nike

我正在尝试编写一个查询,从我的连接数据中获取国家列表。 PlacesList<Country> .

        var zonedCountries = (from dz in db.DeliveryZones.Include(d => d.Places)
where model.DeliveryZones.Contains(dz.ID)
select dz.Places);

我希望 zonedCountries是一个列表,而是一个 IQueryable<ICollection<Country>> .

如何从中提取列表?

最佳答案

如果你想得到扁平化的国家列表:

var zonedCountries = (from dz in db.DeliveryZones.Include(d => d.Places)
where model.DeliveryZones.Contains(dz.ID)
from p in dz.Places
select p);

或者使用SelectMany:

var zonedCountries = db.DeliveryZones.Include(d => d.Places)
.Where(dz => model.DeliveryZones.Contains(dz.ID))
.SelectMany(dz => dz.Places);

顺便说一句,我不确定在这种情况下您是否需要手动添加地点(因此您选择的是地点而不是送货区域)。您可能只想选择不同的国家/地区 - Distinct() 会在这里帮助您。此外,如果您想将结果存储在列表中,那么简单的 ToList() 调用就可以完成这项工作。

关于c# - 从 IQueryable<ICollection> LINQ 查询中获取 ICollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141365/

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