c# - How to add multiple records in List along with other model in view-model Linq - ASP.NET-MVC5 -


i working on asp.net-mvc5 applications. need pass data model multiple classes controller view decided use viewmodel , use linq assign values view model accordingly. model, student can have multiple emergency contact using list getting error on part in linq query.

enter image description here

viewmodel

public class studentdetailedprofileviewmodel {     public studentdetailedprofileviewmodel() { }      public student _studentmodel { get; set; }     public course _coursemodel { get; set; }     public school _schoolmodel { get; set; }     public campus _campusmodel { get; set; }     public contactdetail _contactdetailmodel { get; set; }     public list<emergencycontact> _emergencycontactmodel { get; set; }  } 

function need return typed binded data

 public studentcourseschoolandcampusviewmodel getcoursebystudentid(int _studentid)     {         try         {             using (var _uow = new studentprofile_unitofwork())             {                 var _record = (from _course in _uow.course_repository.getall()                               join _school in _uow.school_repository.getall() on _course.schoolid equals _school.schoolid                               join _campus in _uow.campus_repository.getall() on _course.campusid equals _campus.campusid                               _course.studentid == _studentid                               select new studentcourseschoolandcampusviewmodel  {_coursemodel= _course, _schoolmodel = _school, _campusmodel = _campus }).firstordefault();                  return _record;             }         }         catch { return null; }     } 

i have managed following not sure if best practice!!

    public studentdetailedprofileviewmodel getstudentdetailedprofilebystudentid(int _studentid)     {         try         {              using (var _uow = new studentprofile_unitofwork())             {                  studentdetailedprofileviewmodel studentprofileobject = new studentdetailedprofileviewmodel();                  var _profile = (from _student in _uow.student_repository.getall()                                 join _contactdetail in _uow.contactdetail_repository.getall() on _student.studentid equals _contactdetail.studentid                                 join _studentcourse in _uow.course_repository.getall() on _student.studentid equals _studentcourse.studentid                                 join _school in _uow.school_repository.getall() on _studentcourse.schoolid equals _school.schoolid                                 join _campus in _uow.campus_repository.getall() on _studentcourse.campusid equals _campus.campusid                                 _student.studentid == _studentid                                 select new studentdetailedprofileviewmodel { _studentmodel = _student, _contactdetailmodel = _contactdetail, _coursemodel = _studentcourse,_schoolmodel = _school, _campusmodel = _campus}).firstordefault();                  _profile._emergencycontactmodel = (from _emergencycontact in _uow.emergencycontact_repository.getall()                                                   _emergencycontact.studentid == _studentid                                                   select _emergencycontact).tolist();                   return _profile;                             }         }//         catch { return null; }      } 

Comments