我有这句话:IEnumerable<Person> persons= context.Persons.Where(/*SomeCondition*/);它声明为,IEnumerable<Person>但使用实例化 IQueryable<Person>。我了解IQueryable<T>继承自IEnumerable<T>。为了实现可重用性,我创建了一个accept方法,IEnumerable而不是分别使用acceptIEnumerable和方法的两个方法IQueryable:public IEnumerable<PersonInfo> GetPersonInfo(IEnumerable<Person> persons){ persons = persons.Where(/*Some condition*/); IEnumerable<Person> persons = persons.GroupBy(/*based on some property*/); /*Here i want check value type of persons is IQueryable or not*/ return persons;}在消费方面,我有:IQueryable<Person> persons= context.Persons.Where(/*condition*/);IQueryable<PersonInfo> result GetPersonInfo(persons.AsEnumerable()).AsQueryable();对于内存中收集,我有:List<Person> persons = new List<Person> { new Person {}};IEnumerable<Person> result = GetPersonInfo(persons);在GetPersonInfo方法,我怎么能检查persons是IQueryable或不是?
- 1 回答
- 0 关注
- 194 浏览
添加回答
举报
0/150
提交
取消