public class PatientViewModel
{
public int PID { get; set; }
public string patientname { get; set; }
public virtual ICollection<Patient_VisitHistoryViewModel> Patient_VisitHistoryViewModelList { get; set; }
public virtual ICollection<Patient_insurancecompaniesViewModel> Patient_insurancecompaniesViewModelList { get; set; }
}
public class Patient_VisitHistoryViewModel
{
public int VID { get; set; }
public string visitstudylist { get; set; }
public string visttype { get; set; }
}
public class Patient_insurancecompaniesViewModel
{
public int PINSID { get; set; }
public int PID { get; set; }
public int INSID { get; set; }
public string insurancecompanyname { get; set; }
}
public class Patient
{
public int PID { get; set; } // PID (Primary key)
public string patientname { get; set; } // patientname (length: 100)
// Reverse navigation
public virtual ICollection<Patient_insurancecompanies> Patient_insurancecompanies { get; set; } // Patient_insurancecompanies.FK_Patient_insurancecompanies_Patient
public virtual ICollection<Visit> Visit { get; set; } // Visit.FK_Visit_Patient
}
public class Visit
{
public int VID { get; set; } // VID (Primary key)
public int PID { get; set; } // PID
// Reverse navigation
public virtual ICollection<Visit_studiesperformed> Visit_studiesperformed { get; set; } // Visit_studiesperformed.FK_visits_studiesperformed_visits
// Foreign keys
public virtual Branch Branch { get; set; } // FK_visits_branches
public virtual Patient Patient { get; set; } // FK_Visit_Patient
public virtual Visittype Visittype { get; set; } // FK_Visit_Visittype
}
public class Visit_studiesperformed
{
public int VSPID { get; set; } // VSPID (Primary key)
public int VID { get; set; } // VID
public int STID { get; set; } // STID
// Reverse navigation
public virtual ICollection<Visit_studiesperformed_medicalreport> Visit_studiesperformed_medicalreport { get; set; } // Visit_studiesperformed_medicalreport.FK_visits_medicalreport_visits_studiesperformed
// Foreign keys
public virtual Studies Studies { get; set; } // FK_Visit_studiesperformed_studies
public virtual Visit Visit { get; set; } // FK_visits_studiesperformed_visits
}
public class Studies
{
public int STID { get; set; } // STID (Primary key)
public string studydescription { get; set; } // studydescription (length: 100)
// Reverse navigation
public virtual ICollection<Visit_studiesperformed> Visit_studiesperformed { get; set; } // Visit_studiesperformed.FK_Visit_studiesperformed_studies
}
public class Insurancecompany
{
public int INSID { get; set; } // INSID (Primary key)
public string insurancecompanyname { get; set; } // insurancecompanyname (length: 100)
// Reverse navigation
public virtual System.Collections.Generic.ICollection<Patient_insurancecompanies> Patient_insurancecompanies { get; set; } // Patient_insurancecompanies.FK_Patient_insurancecompanies_Insurancecompany
}
public ActionResult Edit(int PID)
{
Patient patient = bLLPatient.GetPatientByPID(PID);
List<Insurancecompany> ListOfInsuranceCompany = bLLControltables.GetList_Insurancecompany();
List<Studies> ListofStudies = bLLControltables.GetList_Studies();
PatientViewModel patientViewModel = mapper.Map<PatientViewModel>(patient);
patientViewModel.Patient_insurancecompaniesViewModelList.ToList().ForEach(x => x.insurancecompanyname = ListOfInsuranceCompany.Where(b => x.INSID == b.INSID).SingleOrDefault().insurancecompanyname);
return View(patientViewModel);
}
내가 어디있는 공공 ActionResult 편집 (int PID)를 봐. 나는linq 개체 그래프 탐색 쉼표로 구분 된 문자열
는이 코드로 필드 patientViewModel.Patient_insurancecompaniesViewModelList으로 수행 비슷한 얻을 관리해야 ... Studies.studydescription의 쉼표로 구분 된 목록을 확인하고 목록 patientViewModel.Patient_VisitHistoryViewModelList.visitstudylist의 int 저장하기 위해 노력하고
patientViewModel.Patient_insurancecompaniesViewModelList.ToList().ForEach(x => x.insurancecompanyname = ListOfInsuranceCompany.Where(b => x.INSID == b.INSID).SingleOrDefault().insurancecompanyname);
그래서 내가해야 할 것입니다 : 열거 Patient_VisitHistoryViewModelList는, 각 방문을 얻고 각 studies.studydescription를 얻을 각 각 Visit_studiesperformed을 얻을 방문을 위해 각 Vist_studyperformed에 대한 .... 그런
어떻게 든 쉼표로 구분 된 문자열을 만들어 각 patientViewModel.Patient_insurancecompaniesViewModelList.visitstudylist에 저장하십시오.
나는 쉼표로 구분 된 목록을 여기에 만들 수있는 방법을 찾아 냈습니다. AutoMapper: Collection to Single string Property하지만 문제가 있습니다.
이 쉼표로 구분 된 문자열 내 반쯤 도착하지만 난 여전히 개체 모델을 통해 탐색하는 데 문제가 나는 아래에 당신의 공헌을하지 않았다 .personViewModel.Patient_VisitHistoryViewModelList.ToList() .ForEach (x => x.visitstudylist = patient.Visit.ToList(). ForEach (y => y.Visit_studiesperformed.ToList(). ForEach (z => z.Studies.studydescription.ToString())); 오류를 가져 오는 것은 함축적 일 수 없습니다. itly 무효로 변환 문자열 .... – rdurant
속성의 일부가 null 인 것 같습니다. ToString()을 사용하면 항목이 null 일 때 오류가 발생합니다. 대신에 이것을 시도해보십시오 : string results = String.Join (",", patientViewModel.Patient_insurancecompaniesViewModelList.ToList(). ForEach (x => x.insurancecompanyname = ListOfInsuranceCompany.Where (b => (x.INSID == b.INSID) && (x.insurancecompanyname! = null)). (y => (string) y.insurancecompanyname) .ToArray())를 선택하십시오. – jdweng