Методы в ваших сущностях будут игнорироваться, когда 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
свойство не будет отображаться в столбце.
Его совершенно нормально иметь логику в классах сущностей.