以下代码适用于类型的集合IQueryable
:
Expression<Func<Activity, bool>> filter = e => e.IsDeleted && e.CategoryId == 1;
但是这个表达式不适用于 type 的集合IEnumerable
。
我必须如何修改我的表达式才能使其正常工作?
在我的真实场景中,我的集合对象是实体框架模型类的导航属性:person.Activities.Where(filter);
这些是错误:
Error 1
Instance argument: cannot convert from 'System.Collections.Generic.ICollection<Application.Models.Activity>' to 'System.Linq.IQueryable<Application.Models.Activity>'
Error 2
'System.Collections.Generic.ICollection<Application.Models.Activity>' does not contain a definition for 'Where' and the best extension method overload 'System.Linq.Queryable.Where<TSource>(System.Linq.IQueryable<TSource>, System.Linq.Expressions.Expression<System.Func<TSource,bool>>)' has some invalid arguments