Мне нужно отфильтровать данные. Но я не знаю, как использовать Linq.
Модель ClassRoom
public class ClassRoom
{
public int RoomID { get; set; }
public string Name { get; set; }
public List<Student> Students { get; set; }
}
Модель студента
public class Student
{
public int StudentId { get; set; }
public string Name { get; set; }
public int StyleId {get;set;}
}
Пример JSON DATA
var json=
[
{
"RoomID": 1,
"Name": "A Class",
"Students": [{
"StudentId": 1,
"Name":"Charlie",
"StyleId":"1"
},
{
"StudentId": 2,
"Name":"Tom",
"StyleId":"2"
}
]
},
{
"RoomID": 2,
"Name": "B Class",
"Students": [{
"StudentId": 3,
"Name":"ALLEN",
"StyleId":"2"
},
{
"StudentId": 4,
"Name":"Jeremy",
"StyleId":"2"
},
{
"StudentId": 5,
"Name":"Curry",
"StyleId":"3"
}
]
}
]
Если я хочу, чтобы StyleID равнялся "2", и ниже ожидается ответ.
var json =
[
{
"RoomID": 1,
"Name": "A Class",
"Students": [
{
"StudentId": 2,
"Name":"Tom",
"StyleId":"2"
}
]
},
{
"RoomID": 2,
"Name": "B Class",
"Students": [{
"StudentId": 3,
"Name":"ALLEN",
"StyleId":"2"
},
{
"StudentId": 4,
"Name":"Jeremy",
"StyleId":"2"
}
]
}
]
Вот как я подаю, но не правильно. как я могу получить ожидаемые данные?
json.Select( v => v.Students.where( i => i.StyleId == "2") )
спасибо.