使用实体框架,我覆盖了 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 类应该被忽略。
希望您能够帮助我。
慕仙森
相关分类