Да, вы абсолютно можете это сделать.Вот пример из класса конфигурации, который у меня есть:
public class ForCommentEntities:EntityTypeConfiguration<Comment> {
public ForCommentEntities(String schemaName) {
this.HasRequired(e => e.SystemUser)
.WithMany()
.Map(m => m.MapKey("SystemUserID"));
this.Ignore(e => e.Remarks);
this.ToTable("Comment", schemaName);
}
}
Важной частью является вызов this.Ignore
.Он принимает лямбда-выражение к одному из свойств вашего класса.Это является частью того, что делает EFCF великолепным (IMO), поскольку он скрывает детали конфигурации от ваших POCO.
Класс конфигурации будет использоваться в вашем Context
:
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
base.OnModelCreating(modelBuilder);
var schemaName = Properties.Settings.Default.SchemaName;
modelBuilder.Configurations
.Add(new Configuration.ForCommentEntities(schemaName))
// ...other configuration options here
;
}