zoukankan      html  css  js  c++  java
  • linq 查询结果转换成DataTable 方法

    转换方法代码:

    代码
     private DataTable ConvertToTable(IQueryable query)
            {
                DataTable dtList 
    = new DataTable();
                
    bool isAdd = false;
                PropertyInfo[] objProterties 
    = null;
                
    foreach (var item in query)
                {
                    
    if (!isAdd)
                    {
                        objProterties 
    = item.GetType().GetProperties();
                        
    foreach (var itemProterty in objProterties)
                        {
                            Type type 
    = null;
                            
    if (itemProterty.PropertyType != typeof(string&& itemProterty.PropertyType != typeof(int&& itemProterty.PropertyType != typeof(DateTime))
                            {
                                type 
    = typeof(string);
                            }
                            
    else
                            {
                                type 
    = itemProterty.PropertyType;
                            }
                            dtList.Columns.Add(itemProterty.Name, type);
                        }
                        isAdd 
    = true;
                    }
                    var row 
    = dtList.NewRow();
                    
    foreach (var pi in objProterties)
                    {
                        row[pi.Name] 
    = pi.GetValue(item, null);
                    }
                    dtList.Rows.Add(row);
                }

                
    return dtList;
            }


    调用方法:

    //linq查询语句
    var queryData =
                                from dv 
    in emcsDataContext.DailyVals
                                join vrb 
    in emcsDataContext.Variables on dv.VariableID equals vrb.VariableID
                                
    where dv.VariableID == variableId && dv.CollectTime >= selectDate && dv.CollectTime < selectDate.AddDays(1)
                                orderby dv.CollectTime
                                select 
    new
                                {
                                    dv.ID,
                                    dv.VariableID,
                                    dv.CollectTime,
                                    dv.VariableValue,
                                    vrb.UpLimite,
                                    vrb.LowLimite,
                                    statDate 
    = dv.CollectTime.ToShortTimeString()
                                };
    //转换
    ConvertToTable(queryData)


  • 相关阅读:
    JVM学习笔记-指向Class类的引用(A Reference to Class Class)
    JVM学习笔记-方法区示例与常量池解析(Method Area Use And Constant Pool Resolution)
    JVM学习笔记-堆(Heap)
    JVM学习笔记-程序计数器(The Program Counter)
    JVM学习笔记-栈(Stack)
    JVM学习笔记-栈帧(The Stack Frame)
    JVM学习笔记-局部变量区(Local Variables)
    html大文件传输源代码
    html大文件传输源码
    html大文件传输插件
  • 原文地址:https://www.cnblogs.com/scottckt/p/1786007.html
Copyright © 2011-2022 走看看