Методы в ваших объектах будут игнорироваться, когда EF выполняет обнаружение модели. Вы даже можете добавить дополнительные свойства и пометить их как не сопоставленные.
public class Foo
{
public int Id { get; set; }
public Bar Bar { get; set; }
public string Baz { get; set; }
public ValidationResult Validate(ValidationContext context)
{
}
}
public class MyContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Foo>().Ignore(f => f.Baz);
modelBuilder.Ignore<Bar>();
}
}
Здесь Bar
, ValidationResult
, ValidationContext
не будут частью модели, а свойство Baz
не будет отображено в столбце.
Вполне нормально иметь логику в ваших классах сущностей.