Какова цель пустого конструктора класса DbContext в EF Code First Approach? - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть простое определение класса контекста:

namespace PowerSupply.Persistance.Facade
{
    class PowerSupplyDBContext : DbContext
    {
        public PowerSupplyDBContext() : base("PowerSupplyDatabase")
        {

        }
    }
} 

В теле

public PowerSupplyDBContext() : base("PowerSupplyDatabase")
            {

нет ничего, что является целью этого пустого конструктора.Как работает этот пустой конструктор?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Рекомендуется включать пустой конструктор в любой класс, который может использоваться третьей стороной / другим проектом / в любом месте, где компилятор не сможет отследить изменение в классе.

Если вы пропуститепустой конструктор, и этот класс используется третьей стороной или в другом из ваших проектов / приложений, тогда вы не сможете позже изменить этот класс, чтобы включить конструктор с аргументами.В противном случае все виды использования этого класса, которые ранее не полагались на передачу аргументов конструктора, прекратятся, поскольку у них не будет пустого конструктора для ссылки.

0 голосов
/ 27 сентября 2018

Вызывает конструктор базового класса.Так что не пусто.Это просто не добавляет что-то новое.

Есть много причин, по которым вы можете использовать этот «пустой» конструктор.

Возможно, у вас нет новых свойств или вы создаете эти свойства где-то еще (я нерекомендуем)

Вы можете просто захотеть добавить функциональность (новые методы), чтобы расширить класс и реализовать новые методы, используя свойства и методы базового класса.Поэтому вам не нужен конструктор для создания чего-то нового, в отличие от базового класса.

Или у него много конструкторов, и вы используете пустой конструктор в тех случаях, когда вам необходимо использовать ограниченную функциональность класса или значения по умолчанию..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...