我正在使用 asp.net core webapi 和 azure cosmosdb 开发一个应用程序。我需要从对象列表中找到一个项目。我对 linq 没有经验。在下面的 json 中,我需要找到一个拥有 learnerId": "123" 的扇区 id。我期望的输出如下:
“id”:“7d65fa4c-86ed-4e07-9e9a-a1583df5715c”
Sector:
[
{
"name": "Emp1",
"edsNumber": "",
"sectors": [
{
"id": "7d65fa4c-86ed-4e07-9e9a-a1583df5715c",
"name": "Technology1",
"learners": [
{
"learnerId": "123",
"learnerName": "Learner1",
"dateAdded": 1612872051
},
{
"learnerId": "456",
"learnerName": "Learner2",
"dateAdded": 1612877369
},
{
"learnerId": "789",
"learnerName": "Learner3",
"dateAdded": 1612877372
},
{
"learnerId": "12314",
"learnerName": "Learner4",
"dateAdded": 1613065233
},
{
"learnerId": "2346",
"learnerName": "Learner5",
"dateAdded": 1613577350
}
],
"course": {
"name": "Angularv10",
"isCompleted": true
},
"contact": {
"name": "Voytek",
"jobTitle": "Designer1",
"email": "[email protected] /cdn-cgi/l/email-protection",
"isCompleted": true
}
}
]
},
{
"name": "Emp2",
"edsNumber": "",
"sectors": [
{
"id": "7d65fa4c-86ed-4e07-9e9a-a1583df5235c",
"name": "Technology1",
"learners": [
{
"learnerId": "834457",
"learnerName": "Learner6",
"dateAdded": 1612872051
},
{
"learnerId": "11122",
"learnerName": "Learner7",
"dateAdded": 1612877369
}
],
"course": {
"name": "Angularv10",
"isCompleted": true
},
"contact": {
"name": "Voytek",
"jobTitle": "Designer1",
"email": "[email protected] /cdn-cgi/l/email-protection",
"isCompleted": true
}
}
]
}
]
我尝试了以下方法:
var sectorId = (from e in employers
from s in e.Sectors
from l in s.Learners
where l.LearnerId == learnerEntity.Id
select s.Id).FirstOrDefault();
有没有更好的方法来实现?那么如何获取该部门所属的SectorId和雇主呢?