Используя структуру сущностей, я переопределяю метод SaveChanges.
Но я не могу найти хорошее решение, чтобы определить, является ли объект производным от моего базового класса или нет.Если это произойдет, я хочу вызвать метод из базового класса.
У меня есть такие объекты
public class BaseClass : EntityData {
public void DoSomething() { … }
}
public class B : BaseClass { … }
public class C : BaseClass { … }
public class D : EntityData { … }
В моем методе SaveChanges я хотел бы сделать что-то вроде этого:
public override int SaveChanges() {
var changedEntitles = ChangeTracker.Entries().Where
(_ => _.State == EntityState.Added || _.State == EntityState.Modified);
foreach (var obj in changedEntitles) {
if( "obj is of type baseClass ") { <---- need some help here
obj.DoSomething(); <--- and here.
}
}
return base.SaveChanges();
}
Мне нужен класс B & C: DoSomething (), класс D следует игнорировать.
Надеюсь, вы мне поможете.