解决用户Linq自定义组合查询

解决Linq自定义组合查询?看起来似乎是个不太难的问题。但很多人仍然会卡在这里不知如何下手,今天我就用我的经历来给大家做一个例子。

当年,俺被误导,说是怎么实现Linq自定义组合捏?因为Linq是预编译滴,没有办法想拼一个sql字符串出来,让我纠结很久,但是,我觉得微软的人应该比较厉害,所以我本着“有困难要上,没有困难制造困难也要上”的原则,在还没有熟悉LINQ TO ADO.NET的情况下,我觉得决定在最近的我自己独立完成小项目里使用ASP.NET MVC + ADO.NET EF。

一般的信息系统都有一个组合查询的功能,我很快用jquery做了这样一个功能。

///   /// 条件  
/// 
  
public class Condition  
{  
    ///       /// 字段  
    /// 
  
    public string Field { get; set; }  
    ///       /// 表达式  
    /// 
  
    public string Operator { get; set; }  
    ///       /// 值  
    /// 
  
    public string Value { get; set; }  
    ///       /// 关系  
    /// 
  
    public string Relation { get; set; }  
 
    ///       ///   
    /// 
  
    ///   
    ///   
    ///   
    ///   
    ///   
    public static Condition[] BuildConditions(string[] fileds,string[] operators,string[] values,string[] relations)  
    {  
        if (fileds == null || operators == null || values == null || relations == null)  
        {  
            return null;  
        }  
        Condition[] conditions = new Condition[fileds.Length];  
        try 
        {  
            for (int i = 0; i < conditions.Length; i++)  
            {  
                conditions[i] = new Condition()  
                {  
                    Field = fileds[i],  
                    Operator = operators[i],  
                    Value = values[i],  
                    Relation = relations[i]  
                };  
            }  
        }  
        catch 
        {  
            return null;  
        }  
        return conditions;  
    }  
} 

  

 

posted @ 2013-01-04 14:57  □『孤獨~寂  阅读(432)  评论(0)    收藏  举报