简体   繁体   English

如何作为参数传递DbSet <DerivedClass> 如果方法声明中有参数-DbSet <BaseClass>

[英]How to pass as a parameter DbSet <DerivedClass> if parametr in method declaration - DbSet <BaseClass>

I have several derived classes (let call on of them DerivedClass ) from BaseClass . 我有一些来自BaseClass派生类(让他们调用DerivedClass )。

I need to pass as a parametr DbSet <DerivedClass> to change entity DbSet: 我需要通过参数DbSet <DerivedClass>来更改实体DbSet:

in Library: 在图书馆:

protected void ChangeEntity (DbSet <BaseClass> list) {

}

in Code: 在代码中:

DbSet <DerivedClass> list;
ChangeEntity (list); // Compillation error

How to pass derived class collection as a parameter? 如何将派生类集合作为参数传递?

If you only need to alter entity objects then make your ChangeEntity method accept IQueryable type instead: 如果仅需要更改实体对象,则使ChangeEntity方法改为接受IQueryable类型:

protected void ChangeEntity (IQueryable<BaseClass> list) {}

Then you can call it in code: 然后可以在代码中调用它:

DbSet <DerivedClass> list;
ChangeEntity (list);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM