0

我在 GenericRepository 类中有这个方法:

public virtual IEnumerable<TEntity> Get(
            Expression<Func<TEntity, bool>> filter = null,
            Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
           string includeProperties = "") {...}

在服务层我有:

IAdsRepository _adsRepository;

        public AdsService(IAdsRepository adsRepository)
        {
            _adsRepository= adsRepository;
        }

public IEnumerable<Ads> GetAllAds(....)
         {
             return _adsRepository.GetAll(....);
         }

(我有一个存储库来指定 genericRepository )

有人知道如何将参数传递给方法 Get() 吗?

非常感谢您,

4

1 回答 1

0

第一个参数Expression<Func<TEntity, bool>> filter采用过滤器函数,该函数将 TEntity 作为参数并返回一个布尔值,如果该实体应包含在结果中,则该布尔值为真。例如,x => x.Value > 7可以传递以返回所有大于 7Get的 TEntities 。Value

第二个参数将一个 IQueryable 作为参数并返回一个 IOrderedQueryable(即定义排序顺序的位置)例如x => x.OrderBy(y => y.Value)将结果按Value.

例如然后;

repository.Get( x => x.Value > 7, x => x.OrderBy(y => y.Value));

将返回所有Value大于 7 的实体,按值排序。

于 2012-04-22T17:02:09.460 回答