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.

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
Post a Comment