Ответ 1
Да, вы можете, и он должен работать нормально. Per это сообщение в блоге Джули Лерман (кто Microsoft Entity Framework MVP, поэтому я настоятельно рекомендую вам читать ее блог в своем путешествии по EF!):
Entity Framework требует конструктора без параметров, чтобы материализуют объекты, возвращаемые из запросов (или загрузки). Я сделал эта уступка в моем классе, но обратите внимание, что это частный конструктор. Поэтому я все еще защищаю свой класс. Никто не может получить к нему доступ. Но EF все еще может заполнить этот класс, когда я выполняю запросы. И нет, я не делаю волшебства, чтобы сказать EF использовать мою публику конструктор. Он действительно использует частный конструктор.