码迷,mamicode.com
首页 > 其他好文 > 详细

根据表达式树动态生成Lambda表达式

时间:2017-05-20 15:29:45      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:word   表达式树   esc   前端   表达   表达式   数据模型   keyword   知识   

1.准备

  1. 环境:Asp.Net MVC5 、EF6
  2. 前置知识:反射、使用过EF编写过Lambda表达式

2.基础类库

2.1该高级条件的类型

 1     /// <summary>
 2     /// 当前条件所属类型
 3     /// </summary>
 4     public enum Em_AS_ConditionType
 5     {
 6         /// <summary>
 7         /// 8         /// </summary>
 9         [Description("")]
10         And = 0,
11 
12         /// <summary>
13         ///14         /// </summary>
15         [Description("")]
16         Or = 1
17     }

2.2搜索条件

 1     /// <summary>
 2     /// 高级搜索条件
 3     /// </summary>
 4     public enum Em_AS_Condition
 5     {
 6         /// <summary>
 7         /// 包含
 8         /// </summary>
 9         [Description("包含")]
10         Include = 0,
11 
12         /// <summary>
13         /// 等于
14         /// </summary>
15         [Description("=")]
16         Equal = 1,
17 
18         /// <summary>
19         /// 大于等于
20         /// </summary>
21         [Description(">=")]
22         GtEqual = 2,
23 
24         /// <summary>
25         /// 大于
26         /// </summary>
27         [Description(">")]
28         Gt = 3,
29 
30         /// <summary>
31         /// 小于等于
32         /// </summary>
33         [Description("<=")]
34         LtEqual = 4,
35 
36         /// <summary>
37         /// 小于
38         /// </summary>
39         [Description("<")]
40         Lt = 5,
41     }

2.3前端传来的数据模型格式

    /// <summary>
    /// 高级查询
    /// </summary>public class QM_Adv
    {
        /// <summary>
        /// 属性名称
        /// </summary>public string PropName { get; set; }

        /// <summary>
        /// 条件
        /// </summary>public Em_AS_Condition Condition { get; set; }

        /// <summary>
        /// 关键字
        /// </summary>public string Keyword { get; set; }

        /// <summary>
        /// 这组条件与其它条件的关系
        /// </summary>public Em_AS_ConditionType ConditionType { get; set; }
    }

3.准备好基础类库,然后就可以编写表达式树生成Lambda的代码了

 

根据表达式树动态生成Lambda表达式

标签:word   表达式树   esc   前端   表达   表达式   数据模型   keyword   知识   

原文地址:http://www.cnblogs.com/impl/p/6882148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!