2015-01-09 4 views
0

Я нахожусь в кривой обучения структуры сущности. Я следую инструкциям в инфраструктуре сущности в msdn. В образце сущности определяются следующим образом:Использование Hashset для инициализации объектов

public class Department 
{ 
    public Department() 
    { 
     this.Courses = new HashSet<Course>(); 
    } 
    // Primary key 
    public int DepartmentID { get; set; } 
    public string Name { get; set; } 
    public decimal Budget { get; set; } 
    public System.DateTime StartDate { get; set; } 
    public int? Administrator { get; set; } 

    // Navigation property 
    public virtual ICollection<Course> Courses { get; private set; } 
} 

public class Course 
{ 
    public Course() 
    { 
     this.Instructors = new HashSet<Instructor>(); 
    } 
    // Primary key 
    public int CourseID { get; set; } 

    public string Title { get; set; } 
    public int Credits { get; set; } 

    // Foreign key 
    public int DepartmentID { get; set; } 

    // Navigation properties 
    public virtual Department Department { get; set; } 
    public virtual ICollection<Instructor> Instructors { get; private set; } 
} 

public class Instructor 
{ 
    public Instructor() 
    { 
     this.Courses = new List<Course>(); 
    } 

    // Primary key 
    public int InstructorID { get; set; } 
    public string LastName { get; set; } 
    public string FirstName { get; set; } 
    public System.DateTime HireDate { get; set; } 

    // Navigation properties 
    public virtual ICollection<Course> Courses { get; private set; } 
} 

Я только показал некоторые из классов, ориентированных только на мой вопрос. Полный образец: here. Мое сомнение - Почему они используются hashset в конструкторе для создания свойств ICollection?

производительность HashSet хороша в заданных операциях Если HashSet целесообразно в этих типах областей, то

почему они инициализируются со списком в constuctor из «Инструкторов» лица?

Может быть просто показано 2 варианта. Но если нет, пожалуйста, совет, а также скажите мне другие общие сценарии использования hashset. Здесь они возвращаются как ICollection, только для инициализации они использовали hashset.

ответ

0

Я считаю, что они сделали это, потому что HashSet обеспечивает уникальность. Поэтому курсы для отдела должны быть уникальными. Но это может быть не так для инструктора

 Смежные вопросы

  • Нет связанных вопросов^_^