以下查詢返回第二個select查詢中的重複結果。Linq查詢返回重複結果
國家有0..1 to *
與聯賽的關係。
聯盟有1 to *
與userLeagues的關係。
return from ul in userLeagues
select new Map.Country
{
id = ul.Country.CountryId,
name = ul.Country.Common_Name,
leagues = userLeagues.Where(x => x.CountryId.Value == ul.CountryId.Value)
.Select(x => new Map.League
{
id = x.LeagueID,
name = x.leagueNameEN,
})
};
我試過用Distinct
沒有運氣。 看來,無論是我必須使用不同的或GROUPBY countryId
輸出是如
[
{
"id": 1,
"name": "Europe",
"leagues": [
{
"id": 2,
"name": "Champions League",
},
{
"id": 3,
"name": "Europa league",
}
]
},
{
"id": 1,
"name": "Europe",
"leagues": [
{
"id": 2,
"name": "Champions League",
},
{
"id": 3,
"name": "Europa league",
}
]
}
]
也許嘗試加入'.ToList()'你要指定爲'leagues'查詢結束。但是,「重複」是什麼意思?你是說每個國家都得到所有的用戶聯盟,或者每個國家都獲得屬於最後一個國家的所有用戶聯盟,或者是什麼? –
重複在哪些列/屬性? –
你不能使用group by來刪除重複的結果嗎? –