Entity Framework 4.1 RC: problema de herencia de Code First EntityTypeConfiguration

Estoy tratando de usar una clase EntityTypeConfiguration común para configurar la clave primaria para todas mis entidades, de modo que cada clase de configuración derivada no se repita. Todas mis entidades implementan una interfaz común IEntity (que dice que cada entidad debe tener una propiedad Id de tipo int).

Mi clase base de configuración se ve así:

public class EntityConfiguration<TEntity> : EntityTypeConfiguration<TEntity>

    where TEntity : class , IEntity {

    public EntityConfiguration() {

        HasKey( e => e.Id );

        Property( e => e.Id ).HasDatabaseGeneratedOption( DatabaseGeneratedOption.Identity );

    }

}

Cada entidad tiene su propia clase de configuración específica que extiende esta como esta:

public class CustomerConfiguration : EntityConfiguration<Customer> {

    public CustomerConfiguration() : base() {

        // Entity specific configuration here

    }

}

Se compila bien, pero el problema que tengo es que en el tiempo de ejecución obtengo la siguiente excepción cuando EF 4.1 RC intenta crear el modelo:

System.InvalidOperationException no se manejó Mensaje = El componente clave 'Id' no es una propiedad declarada en el tipo 'Cliente'. Verifique que no se haya excluido explícitamente del modelo y que sea una propiedad primitiva válida. Fuente = EntityFramework

Si cambio la clase CustomerConfiguration para extenderla desde EntityTypeConfiguration <Customer> y repito la configuración de la clave primaria, entonces funciona bien, pero pierdo la capacidad de compartir una configuración común (DRY principal es la motivación).

¿Estoy haciendo algo mal aquí? ¿Hay otra forma de compartir una configuración común entre entidades?

Para referencia aquí están las otras clases involucradas:

public interface IEntity {

    int Id { get; set; }

}

public class Customer : IEntity {

    public virtual int Id { get; set; }

    public virtual string name { get; set; }

}

¡Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta