2
다양한 엔티티 (모델)에서 하나의보기를 작성해야하는 경우, 필요한 특정 특성을 포함하는 ViewModel로 별도의 클래스를 작성하는 것이 가장 좋으며, 특정 특성으로 다른 엔티티를 작성하고 해당 엔티티를 연관시키는 것이 더 좋습니다 ORM 디자이너의 나머지 엔티티와?여러 모델에 대한 하나의보기?
다양한 엔티티 (모델)에서 하나의보기를 작성해야하는 경우, 필요한 특정 특성을 포함하는 ViewModel로 별도의 클래스를 작성하는 것이 가장 좋으며, 특정 특성으로 다른 엔티티를 작성하고 해당 엔티티를 연관시키는 것이 더 좋습니다 ORM 디자이너의 나머지 엔티티와?여러 모델에 대한 하나의보기?
메인 모델의 속성으로 선언하여 하나의 모델로 여러 모델을 병합 할 수 있습니다. 당신은 당신의 뷰 모델로 Student
클래스를 설정하면 당신이 당신의 학생의 School
를 가져 오지 수,
public class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
public int SchoolID { get; set; }
public virtual School StudentSchool { get; set; }
}
public class School
{
public School()
{
this.Students = new HashSet<Student>();
}
public int SchoolID { get; set; }
public string ASchoolName { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
을이 경우에 당신은 아무것도 할 필요가 없습니다 : 다음과 같은 모델을 가지고 있다고 가정하자.
그러나 우리는 또한 모든 학교와 뷰 모델로보기에 모든 학생들이 필요하다고 가정하자. 이렇게하려면 다른 클래스를 생성하고 해당 속성으로 위의 클래스를 추가 : 1 뷰에 : 난 항상 하나 발견
당신은이 방법에 의해 필요한 복잡한 모델을 만들 수 있습니다 ... -model ratio가 가장 잘 작동합니다 (연결을 쉽게하기 위해 AutoMapper와 같은 것을 사용할 수 있습니다). –
이것은 아마도 개인적인 취향에 달려 있습니다. 저는 뷰 모델에 2 개의 엔티티 모델을 추가 할 것입니다. DB 디자인을 복잡하게 만들므로 추가 엔티티를 만들지 않습니다. – James
뷰 모델을 사용합니다. –