对象值给出 linq 中的对象数组

Object values giving array of objects in linq

我正在尝试在 linq 中查询,数据按预期出现,但随着我数组中的每个对象再次作为对象数组出现,所以我必须 select 第 0 个对象每次特定对象,如何以正确的格式获取值。 附上我的查询...提前致谢

var results = (
    from site
    in db.Sites.Where(s => s.CompanyId == UserRecord.Company.CompanyId)
    join station
    in db.Stations.Include(y => y.Machines).Where(a => stationIds.Count() == 0 || stationIds.Contains(a.Id))
    on site.Id equals station.SiteId
    where ((noSearchParam || station.Name.ToLower().Contains(search.ToLower())) && (siteIds.Count() == 0 || siteIds.Contains(site.Id)))
    select station.Machines
).ToList();

您目前正在使用 select station.Machines,我认为这是一个集合。您正在为 eachstation 选择它,因此结果是一系列集合。

不过,您可以轻松地拉平结果。将 select station.Machines 替换为

from machine in station.Machines
select machine

或者保留您当前的查询表达式,然后将您之后的操作更改为:

.SelectMany(m => m).ToList();