Пример #1
0
        /// <summary>
        ///     转换成Linq查询条件
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <returns></returns>
        public Expression <Func <TEntity, bool> > ToLinq <TEntity, TKey>()
            where TEntity : class, IAggregateRoot <TEntity, TKey>
        {
            Expression <Func <TEntity, bool> > predicate = null;

            if (Field.IsNotNullOrEmpty() && Value.IsNotNullOrEmpty())
            {
                switch (Operator)
                {
                case OperatorCompare.Equal:
                    predicate = Lambda.Equal <TEntity>(Field, Value);
                    break;

                case OperatorCompare.Greater:
                    predicate = Lambda.Greater <TEntity>(Field, Value);
                    break;

                case OperatorCompare.GreaterEqual:
                    predicate = Lambda.GreaterEqual <TEntity>(Field, Value);
                    break;

                case OperatorCompare.Less:
                    predicate = Lambda.Less <TEntity>(Field, Value);
                    break;

                case OperatorCompare.LessEqual:
                    predicate = Lambda.LessEqual <TEntity>(Field, Value);
                    break;

                case OperatorCompare.NotEqual:
                    predicate = Lambda.NotEqual <TEntity>(Field, Value);
                    break;
                }
            }

            // 根据时间和基准时间构建表达式
            predicate = TimeType.GetPredicate <TEntity, TKey>(ReferTime, predicate);

            return(predicate);
        }
Пример #2
0
 public TEntity GetLastSingle(TimeType timeType, DateTime dateTime, Expression <Func <TEntity, bool> > predicate)
 {
     predicate = timeType.GetPredicate <TEntity, TKey>(dateTime, predicate);
     return(GetSingle(predicate));
 }
Пример #3
0
 public IEnumerable <TEntity> GetLastList(TimeType timeType, DateTime dateTime,
                                          Expression <Func <TEntity, bool> > predicate)
 {
     predicate = timeType.GetPredicate <TEntity, TKey>(dateTime, predicate);
     return(GetList(predicate));
 }