我想添加一個回傳選定物件串列的條件。如果滿足條件,則不會回傳一個專案,如果它的類別是本例,類別是 3。
這是查詢:
var objectQuery = query
.ToList()
.Select(a => new
{
a.Id,
ObjectDetails = (new ObjectClass[] { })
.Concat(...)
.Concat(...)
.Distinct()
.Select(f => new
{
f.ObjectDetails.Id,
f.ObjectDetails.Name,
f.ObjectDetails.DisplayName,
category = (int)f.ObjectDetails.Category,
f.ObjectDetails.IsArchived,
})
});
return objectQuery.ToList().FirstOrDefault();
我想添加一個這樣的條件,如果它滿足條件,它將洗掉所有類別為 3 的專案,如果沒有,則回傳所有專案,但我不知道如何正確實作它:
if(condition a)
return objectQuery.Select(...Where(category != 3)).ToList().FirstOrDefault();
else
return objectQuery.ToList().FirstOrDefault();
這是回傳輸出:
{
"objectQuery": {
"id": 1198,
"ObjectDetails": [
{
"id": 1,
"name": "name one",
"displayName": "NAME 1",
"Category": 1,
},
{
"id": 2,
"name": "name two",
"displayName": "NAME 2",
"Category": 1,
},
{
"id": 3,
"name": "name three",
"displayName": "NAME 3",
"Category": 2,
},
{
"id": 4,
"name": "name four",
"displayName": "NAME 4",
"Category": 2,
},
{
"id": 5,
"name": "name five",
"displayName": "NAME 5",
"Category": 3,
},
{
"id": 6,
"name": "name six",
"displayName": "NAME 6",
"Category": 1,
},
{
"id": 7,
"name": "name seven",
"displayName": "NAME 7",
"Category": 1,
}
]
}
}
uj5u.com熱心網友回復:
如果我正確地回答了您的問題,那么您將需要以下內容:
var objectQuery = query
.ToList()
.Select(a => new
{
a.Id,
ObjectDetails = (new ObjectClass[] { })
.Concat(...)
.Concat(...)
.Distinct()
.Select(f => new
{
f.ObjectDetails.Id,
f.ObjectDetails.Name,
f.ObjectDetails.DisplayName,
category = (int)f.ObjectDetails.Category,
f.ObjectDetails.IsArchived,
})
.Where(f => !condition || f.category != 3)
});
return objectQuery.ToList().FirstOrDefault();
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/494210.html
下一篇:字典的回傳值,除了給定的鍵
