123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- using System;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Reflection;
- using System.Text;
- namespace Ant.ORM
- {
- /// <summary>
- /// 在此描述QueryCondition的说明
- /// </summary>
- [Serializable]
- public class MakeQueryWhere
- {
- public Dictionary<string, QueryWhereList> QueryList = new Dictionary<string, QueryWhereList>();
- private QueryWhereList ColumnList;
- public MakeQueryWhere()
- {
- ColumnList = new QueryWhereList();
- }
- ///// <summary>
- ///// 表名
- ///// </summary>
- //public string TableName
- //{
- // get;
- // set;
- //}
-
- /// <summary>
- /// 并且条件
- /// </summary>
- /// <param name="column"></param>
- /// <returns></returns>
- public MakeQueryWhere And<T>(Expression<Func<T, object>> expression,Operator op,object value) where T : class
- {
- //PropertyInfo propertyInfo = ReflectionHelper.GetProperty(expression) as PropertyInfo;
- //TableColumn tc = new TableColumn();
- //tc.ColumnMetaData = column.ColumnMetaData;
- //tc.TableName = column.TableName;
- //tc.Operatstr = column.Operatstr;
-
- //if (ColumnList.QueryList.IsNull())
- // ColumnList.QueryList = new List<TableColumn>();
- //foreach (QueryWhereList queryList in QueryList.Values)
- //{
- // var num = queryList.QueryList.Select(p => p.ColumnName.Equals(tc.ColumnName)).Count();
- // if (num>0)
- // {
- // tc.OverColumnName = tc.ColumnName + num;
- // }
- //}
- //ColumnList.QueryList.Add(tc);
- //ColumnList.WhereStr = " and ";
- return this;
- }
- /// <summary>
- /// 或者条件
- /// </summary>
- /// <param name="column"></param>
- /// <returns></returns>
- public MakeQueryWhere Or<T>(Expression<Func<T, object>> expression, Operator op, object value) where T : class
- {
- //TableColumn tc = new TableColumn();
- //tc.ColumnMetaData = column.ColumnMetaData;
- //tc.TableName = column.TableName;
- //if (ColumnList.QueryList.IsNull())
- // ColumnList.QueryList = new List<TableColumn>();
- //foreach (QueryWhereList queryList in QueryList.Values)
- //{
- // var num = queryList.QueryList.Select(p => p.ColumnName.Equals(tc.ColumnName)).Count();
- // if (num > 0)
- // {
- // tc.OverColumnName = tc.ColumnName + num;
- // }
- //}
- //ColumnList.QueryList.Add(tc);
- //ColumnList.WhereStr = " or ";
- return this;
- }
- /// <summary>
- /// 设置分组
- /// </summary>
- public void SetGroup()
- {
- QueryList.Add(Guid.NewGuid().ToString(), ColumnList);
- ColumnList = new QueryWhereList();
- }
- }
- /// <summary>
- ///
- /// </summary>
- public class QueryWhereList
- {
- public List<TableColumn> QueryList
- {
- get;
- set;
- }
- /// <summary>
- /// 操作符
- /// </summary>
- public string WhereStr
- {
- get;
- set;
- }
- }
- }
|