使用实体框架,我覆盖了 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 类应该被忽略。希望您能够帮助我。
                    
                    
                1 回答
                            慕仙森
                            
                                
                            
                        
                        
                                                
                    TA贡献1827条经验 获得超8个赞
我建议您使用检查其类型is以避免不必要的强制转换。
if(obj.Entity is BaseClass) {
((BaseClass)obj).DoSomething();
}
- 1 回答
 - 0 关注
 - 165 浏览
 
添加回答
举报
0/150
	提交
		取消
	