Base オブジェクトのプロパティの中央マッピングを取得するためのトリックはありますか? EntityTypeConfiguration を使用する場合の抽象クラスの簡単なパターンはありますか。
どんなヒントでも大歓迎です。クラスを宣言できません
Public class BaseEntityConfig<T> : EntityTypeConfiguration<T>
機能するための答えを得ることができなかった同様の問題 汎用クラス EntityTypeConfiguration<TEntity> を作成して使用する方法 および EntityTypeConfiguration を生成する動的な方法 : タイプ 'TResult' は null 非許容値タイプである必要があります
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");
}
}