csharp 查询选项V6

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 查询选项V6相关的知识,希望对你有一定的参考价值。

public class QueryOption<T> : IQueryOption<T> where T:class
    {
        private readonly IQueryable<T> _queryable;

        public QueryOption(IQueryable<T> queryable)
        {
            _queryable = queryable;
        }
        internal List<Expression<Func<T, object>>> EagerLoads { get; set; }
        internal Expression<Func<T, bool>> Filter { get; set; }

        public IQueryOption<T> FilterBy(Expression<Func<T, bool>> filter)
        {
            Filter = filter;
            return this;
        }

        public IQueryOption<T> AddEagerLoad(Expression<Func<T, object>> eagerLoad)
        {
            if (EagerLoads == null)
                EagerLoads = new List<Expression<Func<T, object>>>();

            EagerLoads.Add(eagerLoad);
            return this;
        }

        public IQueryable<T> Process()
        {
            foreach (var eagerload in EagerLoads ?? new List<Expression<Func<T, object>>>())
            _queryable.Include(eagerload);

            return _queryable.Where(Filter ?? (x => true));
        }
    }

以上是关于csharp 查询选项V6的主要内容,如果未能解决你的问题,请参考以下文章

ES2015“导入”在带有 --harmony_modules 选项的节点 v6.0.0 中不起作用

反应路由器 v6 中的查询字符串

ARM编译器V6.15性能优化及注意事项

Keil MDK 编译器 AC5 和 AC6 优化选项重要内容和区别

Entity Framework v6 GroupBy 丢失原始排序

csharp 在新选项卡中打开窗口