Я создал свои классы из базы данных через Entity Framework. Имя класса — это имя таблицы, а свойства — это поля. Теперь у меня есть три таблицы: App_users, Book, Course.
App_users имеет связь один ко многим с книгой и курсом (идентификатор пользователя — это внешний ключ). Когда я вижу пользовательский класс, он имеет такую структуру:
public partial class App_users
{
public App_users()
{
this.Book = new HashSet<Book>();
this.Course = new HashSet<Course>();
}
public int USERID { get; set; }
public string USERNAME { get; set; }
public virtual ICollection<Book> Book { get; set; }
public virtual ICollection<Course> Course { get; set; }
}
- Я хочу знать, почему эти таблицы (книги и курсы) определяются как HASHSET внутри конструктора. Какова польза / важность этого?
- Снова классы Book & Course определяются как ICOLLECTION. Какова польза/важность этого?
Я знаю, что эта структура используется для отображения отношения внешнего ключа в таблице.
Пожалуйста, кто-нибудь может объяснить мне это.