This project is read-only.

项目描述

    Suucha Expression是一个简单的用于构建(可动态构建)条件(查询条件)的表达式类库。

    提供三种类型的表达式:SuuchaMemberExpression(成员表达式)、SuuchaConstantExpression(常量表达式)、SuuchaBinaryExprssion(二元表达式,可设置多种逻辑操作,比如等于、大于、In、Like等)。

    同时提供基于IQueryable的Where扩展。


示例

//Javascript
var condition = Suucha.Expression.Equal('Name', 'name');
condition = Suucha.Expression.And(condition, Suucha.Expression.Equal('Code', '01'));
//C#
SuuchaExpression expression = SuuchaExpression.Equal("Code", "1.1");
var result = list.AsQueryable().Where(expression).ToList();
expression = SuuchaExpression.Equal(new SuuchaMemberExpression("Code"), 
             new SuuchaConstantExpression("1.1"));

expression = SuuchaExpression.Like(new SuuchaMemberExpression("Code"), 
             new SuuchaConstantExpression("%.1")); //EndsWith

//OrderBy
result = list.AsQueryable().OrderBy(SuuchaOrderBy.OrderBy("Name")
         .ThenByDescending("Order")).ToList();
result = list.AsQueryable().OrderBy(SuuchaOrderBy<TestClass1>.OrderBy(t => t.Name)
         .ThenByDescending(t => t.Order)).ToList();

Last edited Dec 3, 2012 at 8:33 AM by tubo, version 5