我有通用存储库的这段代码:
public PaginatedList<TEntity> Paginate<TKey>(int pageIndex, int pageSize, Expression<Func<TEntity, TKey>> keySelector) {
return Paginate<TKey>(pageIndex, pageSize, keySelector, null);
}
如何传递Expression参数?
答案 0 :(得分:1)
C#编译器根据上下文将lambda转换为Expression<Func<...>>
或Func<...>
,因此您只需将lambda传递给Paginate
:
var paginatedList = repository.Paginate(0, 10, e => e.EntityId);
上面,e => e.EntityId
被转换为Expression<TEntity,TKey>
,其中TEntity
是您的存储库TEntity
的类型,而TKey
是EntityId
的类型1}}。