На этом уроке мы рассмотрим как реализовать различные типы связей между таблицами в Enitity Framework: 1 : 1, 1 : N, N : M.
Дата отправки отчёта:
23 мая 2016 г.
Задание выполнено: за
40 мин.
Чему научился:
Реализовывать различные типы связей и создавать промежуточные таблицы не создавая их =)
Что было сложным:
Ничего
Комментарии:
Всё просто замечательно =) И пара маленьких вопросов =) 1) Почему вы называете таблицы в единственном числе? Например, таблица User (в которой хранятся пользователИ). Мне кажется, это может приводить к небольшой путанице, допустим, создадим мы какую-то переменную user (в которой хранится 1 пользователь) и перепутаем её с User (таблицей со всеми пользователями). Это я конечно утрирую, но всё же =) 2) В чём разница между: public string Name { get; set; } и public string Name; Да, get и set можно настраивать, но обычно, мы этого не делаем. Какие преимущества нам даёт эта запись?
> 2) В чём разница между: > public string Name { get; set; } > и > public string Name; Разница на самом деле существенна, рекомендую почитать что-то из "букварей" C# - Троелсена, например второе - это обычное открытое поле, а первое - это свойство, которое на самом деле позволяет обратиться к приватному полю, по сути - синтаксический сахар языка и компилятор раскрывает это во что-то типа: private string _name; public string Name { get { return _name; } set { _name = value; } } в рамках комментария смысла нету описывать все это, тем более все это описано уже сотню раз умными мужами, смотри подсказку выше :)
Спасибо за столь содержательный ответ, где-то так себе это и представлял. Но зачем столько лишнего, если, по сути, еам всего лишь переменная и нужна, или нет?
Это сегодня тебя устраивает публичный произвольный доступ к полю, а завтра ты захочешь добавить контроль входных данных. Тут тебе понадобится однозначно свойство и если оно и было свойством раньше - проблем нет, все пользователи класса даже не заметят изменений и будут пользоваться как и раньше. В случае же если раньше это было поле, то придется перекомпилировать всех пользователей класса, а это, возможно, какие-то сторонние разработчики. Может показаться, что в конкретном этом примере все это несущественно, но надо приучать себя сразу к правильному подходу, чтобы он был на автоматизме. Поэтому я поддерживаю Константина, автора курса.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Реализовывать различные типы связей и создавать промежуточные таблицы не создавая их =) Всё просто замечательно =) И пара маленьких вопросов =)
1) Почему вы называете таблицы в единственном числе? Например, таблица User (в которой хранятся пользователИ). Мне кажется, это может приводить к небольшой путанице, допустим, создадим мы какую-то переменную user (в которой хранится 1 пользователь) и перепутаем её с User (таблицей со всеми пользователями). Это я конечно утрирую, но всё же =)
2) В чём разница между:
public string Name { get; set; }
и
public string Name;
Да, get и set можно настраивать, но обычно, мы этого не делаем. Какие преимущества нам даёт эта запись?
А по самому уроку вопросов нет, всё супер =)