C'è qualche trucco per ottenere una mappatura centrale delle proprietà dell'oggetto Base? Esiste un modello semplice per le classi astratte quando si utilizza EntityTypeConfiguration.
ANy suggerimenti molto apprezzati. Im in grado di dichiarare una classeClasse di base del modello astratto del dominio quando si utilizza EntityTypeConfiguration <T>
Public class BaseEntityConfig<T> : EntityTypeConfiguration<T>
problemi simili, in cui ho potuto ottenere le risposte a lavorare How to create and use a generic class EntityTypeConfiguration<TEntity> e Dynamic way to Generate EntityTypeConfiguration : The type 'TResult' must be a non-nullable value type
public abstract class BosBaseObject
{
public virtual Guid Id { set; get; }
public virtual string ExternalKey { set; get; }
public byte[] RowVersion { get; set; }
}
public class News : BosBaseObject
{
public String Heading { set; get; }
}
public class NewsMap : EntityTypeConfiguration<News>
{
public NewsMap()
{
//Base Object Common Mappings
// How can we use a central mapping for all Base Abstract properties
}
}
// Something like this but very open to any suggestion....
public class BosBaseEntityConfig<T> : EntityTypeConfiguration<T>
{
public void BaseObjectMap()
{
// Primary Key
this.HasKey(t => t.Id);
// Properties
this.Property(t => t.Id).HasDatabaseGeneratedOption(databaseGeneratedOption: DatabaseGeneratedOption.None);
this.Property(t => t.RowVersion)
.IsRequired()
.IsFixedLength()
.HasMaxLength(8)
.IsRowVersion();
//Column Mappings
this.Property(t => t.Id).HasColumnName("Id");
}
}