У меня есть проект "master" Visual Studio, который содержит сопоставления структур Entity Framework, похожие на:
public class UserMap : EntityTypeConfiguration<User>
{
    public UserMap()
    {
        // Table Mapping
        ToTable("Users");
        this.Property(x => x.Username).HasColumnName("Username");
        // Other mapping goes here
    }
}
Объект User, который отображается, является простым POCO:
 public class User {
     public string Username { get; set; }
     // Other properties omitted for brevity
 } 
У меня есть второй "дочерний" проект/приложение VS (который ссылается на главный проект), который имеет следующий ExtendedUser Entity/POCO, который также отображается с использованием EF:
public class ExtendedUser : User {
     // Extra navigation properties
     public ICollection<Order> Orders { get; set; }
}
Этот объект не имеет дополнительных полей, но имеет разные коллекции отношений, которые являются специфическими для этого приложения, и только это приложение.
Моя проблема в том, что я хотел бы наследовать отображение, определенное для User в первом проекте VS. Мастер User класс будет использоваться в нескольких других проектах, поэтому мне нужно избегать дублирования сопоставлений.
Если я определяю отображение как:
public class ExtendedUserMap : UserMap
{
    public UserMap()
    {
    }
}
Тогда я не могу ссылаться ни на один из свойств ExtendedUser, поскольку отображение имеет тип EntityTypeConfiguration<User> not EntityTypeConfiguration<ExtendedUser>.
Очевидно, что я не могу наследовать от двух классов, поэтому я не уверен в том, что вы достигнете того, что я хочу сделать.
Как я могу определить ExtendedUserMap, чтобы я мог использовать сопоставления User, а также включить свойства навигации для ExtendedUser?
