using System.Collections.Generic;
public static void Main()
List<Student> studentList = new List<Student>() {
new Student() { StudentID = 1, StudentName = "John", Age = 13} ,
new Student() { StudentID = 2, StudentName = "Moin", Age = 21 } ,
new Student() { StudentID = 3, StudentName = "Bill", Age = 18 } ,
new Student() { StudentID = 4, StudentName = "Ram" , Age = 20} ,
new Student() { StudentID = 5, StudentName = "Ron" , Age = 15 }
List<Permission> permissionsList = new List<Permission>() {
new Permission() { StudentID = 1, PermissionID = 1, PermissionName = "PermissionName1", HasPermission = true} ,
new Permission() { StudentID = 1, PermissionID = 2, PermissionName = "PermissionName2", HasPermission = false } ,
new Permission() { StudentID = 2, PermissionID = 1, PermissionName = "PermissionName1", HasPermission = true} ,
new Permission() { StudentID = 2, PermissionID = 2, PermissionName = "PermissionName2", HasPermission = false } ,
new Permission() { StudentID = 3, PermissionID = 1, PermissionName = "PermissionName1", HasPermission = true} ,
new Permission() { StudentID = 4, PermissionID = 2, PermissionName = "PermissionName2", HasPermission = false } ,
studentList.ForEach(s => s.Permissions = new List<Permission>(permissionsList.Where(p => p.StudentID == s.StudentID)));
foreach(Student s in studentList){
Console.WriteLine(string.Concat(s.StudentName, s.Permissions.Count().ToString()));
public int StudentID { get; set; }
public string StudentName { get; set; }
public int Age { get; set; }
public IList<Permission> Permissions { get; set; }
public int StudentID { get; set; }
public int PermissionID { get; set; }
public string PermissionName { get; set; }
public bool HasPermission { get; set; }