C#:将部分类强制转换为父类并将其放入字典

C#:将部分类强制转换为父类并将其放入字典,c#,list,dictionary,C#,List,Dictionary,假设我有以下课程: public class Parent { public Property1 {get;set;} public Property2 {get;set;} } public partial class Child : Parent { } public partial class Cousin : Parent { } 我有一些方法使用Property1和Property2返回IQueryable和IQueryable 是否可以将这两个as列表添加到词典中

假设我有以下课程:

public class Parent
{
   public Property1 {get;set;}
   public Property2 {get;set;}
}

public partial class Child : Parent { }

public partial class Cousin : Parent { }
我有一些方法使用Property1和Property2返回
IQueryable
IQueryable

是否可以将这两个as列表添加到
词典中

我试过:

var childList = db.GetChildList() as List<Parent>;
var childList=db.GetChildList()作为列表;
但是这个返回null

我是否必须返回
列表
,并在将其添加到词典之前将其添加到列表中


谢谢

因为列表是不变的,所以它需要是右键类型的列表,例如:

var childList = db.GetChildList().Cast<Parent>().ToList();
var childList=db.GetChildList().Cast().ToList();

对你的问题回答是。原因是
List
不是从
List
派生的,只有
Child
是从
Parent

db.GetChildList().Cast()派生的
部分
关键字在这里有什么用途?您的代码中是否有
子类
表亲类
的其他部分?这似乎更像是一个协方差问题,而不是一个偏类问题。express Dictionary是什么意思?@BoltClock:这是EF部分类实现,在db-first模式下,因此总是生成它,以及代码来自EF用法的objectIs的外部键的IQueryable属性?db的类型是什么,它在GetChildList()中返回什么类型?+1,如果GetChildList(..)是我们的意思(EF?),则返回IQueryable或IEnumerable