Хотя это может звучать как обратное тому, о чем вы просите, я бы, вероятно, посмотрел на EF Code First .Поскольку все это построено на основе POCO, DbSets и класса DbContext, вы сможете довольно легко заставить работать наследование.
Имейте свои общие модели и абстрактный DbContext в общей сборке.Иметь конкретные модели и окончательный DbContext в пользовательских сборках.
На фронте WinForms здесь приведен пример кода для того, чтобы сделать наборы наблюдаемыми.Вы должны позаботиться о INotifyPropertyChanged самостоятельно, но это довольно просто.
Недостаток EF Code Во-первых, вы не сможете просто сгенерировать все классы.При этом они достаточно просты, чтобы написать, что я, вероятно, просто напишу их по мере необходимости, пока вы кодируете остальную часть приложения.Любая форма универсального автоматизированного инструмента будет иметь проблемы с определением, какие модели и свойства являются общими по сравнению с конкретными для клиента.