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