2

如果您需要从各种实体(模型)创建一个视图,最好创建一个单独的类作为包含您需要的特定属性的 ViewModel,还是创建具有特定属性的另一个实体并将该实体与ORM 设计器中的其他实体?

4

1 回答 1

1

您可以通过将任意数量的模型声明为主模型的属性来将它们合并为一个模型。假设您有以下模型:

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; }        
}

如果您只是将Student班级设置为您的视图模型,您可以检索School学生的,在这种情况下您不需要做任何事情。

但是,我们假设您还需要视图中的所有学校和 所有学生作为视图模型。为此,请创建另一个类并将上述类添加为其属性:

public class MyModel
{
    List<Student> MyStudents { get; set; }
    List<School> MySchools { get; set; }
}

您可以通过这种方法创建您需要的任何复杂模型......

于 2013-07-30T06:08:38.597 回答