簡體   English   中英

對象值在linq中給出對象數組

[英]Object values giving array of objects in linq

我正在嘗試在linq中查詢,並且數據按預期來了,但是隨着數組的每個對象又作為對象數組來了,因此每次都必須選擇垂直對象的第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我認為這是一個集合。 您為每個 station選擇了它,因此結果是一系列的集合。

您可以輕松地將結果展平。 要么替換select station.Machines

from machine in station.Machines
select machine

或保留您當前的查詢表達式,然后將之后的操作更改為:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM