Solution demonstrating that EF can materialize objects with private constructors and setters