我试图获取指定类型的数据库中的所有对象的列表.我之前在编译时知道类型时已经这样做了,但是现在我试图将一个类型传递给方法并让方法返回该指定类型的所有记录,而我无法使其工作.我尝试过以下方法:
public IList<WritingObject> GetBasicObjectsByProject(int projectId,Type oType) { var results = from o in _objects.AsQueryable where o.Project.Id == projectId && o.GetType() == oType select o; return results.ToList<WritingObject>(); }
这不起作用,因为Linq to Entities不支持Gettype()方法.接下来我试过了
var results = from o in _objects.AsQueryable where o.Project.Id == projectId && o is oType select o;
这不起作用,因为编译器声称oType不是已知类型.使用typeof(oType)会产生相同的错误,就像在IQueryable上执行OfType< oType>()一样.