首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教2个接口实现的有关问题

2012-11-04 
请问2个接口实现的问题我看到一篇文章中对EF的IRepository类 增加了2个接口如下IQueryableT Query(Expre

请问2个接口实现的问题
我看到一篇文章中对EF的IRepository类 增加了2个接口

如下

IQueryable<T> Query(Expression<Func<T, bool>> filter);


IList<T> QueryByPage<TKey>(Expression<Func<T, bool>> filter, Expression<Func<T, TKey>> orderby, int OrderType, int PageSize, int PageIndex, out int recordsCount);


但是没有给出实现的方法,我也不知道怎么在RepositoryBase中实现,也许问题很简单,不过还是需要各位指点下

[解决办法]
IQueryable<T> Query(Expression<Func<T, bool>> filter)
{
return data.Where(x => filter(x));
}
IList<T> QueryByPage<TKey>(Expression<Func<T, bool>> filter, Expression<Func<T, TKey>> orderby, int OrderType, int PageSize, int PageIndex, out int recordsCount)
{
var query = data.Where(x => filter(x)).OrderBy(x => orderby(x));
recordsCount = query.Count();
return query.Skip(pageIndex * pageSize).Take(pageSize).ToList();
}

热点排行