精华内容
下载资源
问答
  • datatable linq

    2015-06-30 09:29:50
    DataTable dt = query.AsDataView().ToTable(); if (dt.Rows.Count > 0) dr["Company"] = dt.Rows[0]["Name"]; } 上面是筛选代码 var order = from a in dtCompanyStatistics.AsEnumerable() orderby a....
    var query = from a in MasterDataHelper.OrganizationTree.AsEnumerable()
                                        where
                                        a.Field<string>("ID") == dr["Company"].ToString()
                                        && a.Field<string>("Type") == "C"
                                        select a;
                            if (query != null)
                            {
                                DataTable dt = query.AsDataView().ToTable();
                                if (dt.Rows.Count > 0)
                                    dr["Company"] = dt.Rows[0]["Name"];
                            }

    上面是筛选代码

    var order = from a in dtCompanyStatistics.AsEnumerable() 
                            orderby a.Field<int>("Num") descending 
                            select a;
                dtCompanyStatistics = order.AsDataView().ToTable();

    上面是排序代码
    展开全文
  • DataTable Linq 左连接

    2018-06-10 01:50:00
    DataTable Linq 左连接 (一)Linq左连接案例分析 有如下两个DataTable:localDt和schemaDt 要实现这两个DataTable的左连接,得到如下效果: 分析一: 代码 var temp1 = (from schema in ...

    DataTable Linq 左连接

    (一)Linq左连接案例分析

    有如下两个DataTable:localDt和schemaDt

    image

    image

    要实现这两个DataTable的左连接,得到如下效果:

    分析一:

    代码
    var temp1 = (from schema in schemaDt.AsEnumerable()
                 join local in localDt.AsEnumerable() 
                 on schema.Field<string>("name") equals local.Field<string>("sql_name")
                 into tempTable
                 from item in tempTable.DefaultIfEmpty<DataRow>()
                 select item).ToList();

    image

    分析二

    代码
    var temp2 = (from local in localDt.AsEnumerable()
                 join schema in schemaDt.AsEnumerable() 
                 on local.Field<string>("sql_name") equals schema.Field<string>("name")
                 into tempTable
                 from item in tempTable.DefaultIfEmpty()
                 select item).ToList();

     

    分析三:

    代码var temp3 = (from schema in schemaDt.AsEnumerable()
                 join local in localDt.AsEnumerable() on schema.Field<string>("name") equals local.Field<string>("sql_name")
                 into tempTable
                 from item in tempTable.DefaultIfEmpty<DataRow>(localDt.NewRow())
                 select item).ToList();

    image

    分析四:

    代码var temp4 = (from schema in schemaDt.AsEnumerable()
                join local in localDt.AsEnumerable() on schema.Field<string>("name") equals local.Field<string>("sql_name")
                into tempTable
                from item in tempTable.DefaultIfEmpty<DataRow>(schemaDt.NewRow())
                select item).ToList();

    image

    posted @ 2018-06-10 01:50 李华丽 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • DataTable Linq CopyToDataTable() 小知识点总结,不多哔哔 DataTablelinq做查询,想要返回一个DataTable。用CopyToDataTable的话,返回结果集有数据的话,是没有问题的,如果没有数据就会报异常【数据源中没有 ...

     

    DataTable Linq CopyToDataTable()

    小知识点总结,不多哔哔

    DataTable用linq做查询,想要返回一个DataTable。用CopyToDataTable的话,返回结果集有数据的话,是没有问题的,如果没有数据就会报异常【数据源中没有 DataRow】

    dt.AsEnumerable().Where(o => (o["company"] + "").Contains(conditionJsonValue)).CopyToDataTable();

     解决方法:用AsDataView().ToTable()代替CopyToDataTable()

    dt.AsEnumerable().Where(o => (o["company"] + "").Contains(conditionJsonValue)).AsDataView().ToTable();

    就是这么一个小问题,然后百度半天没找到,我直接整一个吧

    展开全文
  • datatable linq查询

    千次阅读 2017-09-21 11:39:13
    本文导读:在平时的工作中,可能有很多情况下要对DataTable的里面的数据进行处理,例如:对DataTable中的某个字段进行排序,根据条件筛选datatable 中的数据,如果能够通过linqdatatable进行查询,则方便很多。...
    本文导读:在平时的工作中,可能有很多情况下要对DataTable的里面的数据进行处理,例如:对DataTable中的某个字段进行排序,根据条件筛选datatable 中的数据,如果能够通过linq对datatable进行查询,则方便很多。

    DataTable通过调用AsEnumerable()方法,从而运用Linq查询。其中AsEnumerable方法在System.Data.DataSetExtensions.dll中定义,一般VS会自动引用这个dll。

    一、datatable linq查询实例

    1. DataTable读取列表

     
    C# 代码   复制
    
    DataSet ds = new DataSet();
    // 省略ds的Fill代码
    DataTable products = ds.Tables["Product"];
    IEnumerable<DataRow> rows = from p in products.AsEnumerable()
                                select p;
    foreach (DataRow row in rows)
    {
        Console.WriteLine(row.Field<string>("ProductName"));
    }
    
     
    C# 代码   复制
    
    DataSet ds = new DataSet();
    // 省略ds的Fill代码
    DataTable products = ds.Tables["Product"];
    var rows = products.AsEnumerable()
        .Select(p => new
    {
            ProductID = p.Field<int>("ProductID"),
            ProductName = p.Field<string>("ProductName"),
            UnitPrice = p.Field<decimal>("UnitPrice")
        });
    foreach (var row in rows)
    {
        Console.WriteLine(row.ProductName);
    }
    

    2. DataTable linq where 查询

     
    C# 代码   复制
    
    var rows = products.AsEnumerable()
        .Where(p => p.Field<decimal>("UnitPrice") > 10m)
        .Select(p => new
    {
            ProductID = p.Field<int>("ProductID"),
            ProductName = p.Field<string>("ProductName"),
            UnitPrice = p.Field<decimal>("UnitPrice")
        });
    

    3、DataTable linq 数据排序

     
    C# 代码   复制
    
    var rows = products.AsEnumerable()
        .Where(p => p.Field<decimal>("UnitPrice") > 10m)
        .OrderBy(p => p.Field<int>("SortOrder"))
        .Select(p => new
    {
            ProductID = p.Field<int>("ProductID"),
            ProductName = p.Field<string>("ProductName"),
            UnitPrice = p.Field<decimal>("UnitPrice")
        });
    
     
    C# 代码   复制
    
    var expr = from p in products.AsEnumerable()
                orderby p.Field<int>("SortOrder")
                select p;
    IEnumerable<DataRow> rows = expr.ToArray();
    foreach (var row in rows)
    {
        Console.WriteLine(row.Field<string>("ProductName"));
    }
    
     
    C# 代码   复制
    
    var expr = from p in ds.Tables["Product"].AsEnumerable()
               orderby p.Field<int>("SortOrder"), p.Field<string>("ProductName") descending
               select p;
    

    4、DataTable分组 


    C# 代码   复制
    
    var query = from p in ds.Tables["Product"].AsEnumerable()
                group p by p.Field<int>("CategoryID") into g
                select new
    {
                    CategoryID = g.Key,
                    Products = g
                };
    foreach (var item in query)
    {
        Console.WriteLine(item.CategoryID);
    foreach (var p in item.Products)
    {
            Console.WriteLine(p.Field<string>("ProductName"));
        }
    }
    

    查询Product中每个CategoryID的数目

     
    C# 代码   复制
    
    var expr = from p in ds.Tables["Product"].AsEnumerable()
               group p by p.Field<int>("CategoryID") into g
               select new
    {
                   CategoryID = g.Key,
                   ProductsCount = g.Count()
               };
    

    5、多个DataTable查询

     
    C# 代码   复制
    
    var query = from p in ds.Tables["Product"].AsEnumerable()
                from c in ds.Tables["Category"].AsEnumerable()
    where p.Field<int>("CategoryID") == c.Field<int>("CategoryID")
    && p.Field<decimal>("UnitPrice") > 10m
                select new
    {
                    ProductID = p.Field<int>("ProductID"),
                    ProductName = p.Field<string>("ProductName"),
                    CategoryName = c.Field<string>("CategoryName")
                };
    

    二、linq 对象转换为DataTable

    通过CopyToDataTable()方法

     
    C# 代码   复制
    
    DataTable newD1t = query1.CopyToDataTable<DataRow>();
    foreach (DataRow item in newD1t.Rows)
    {
                    System.Console.WriteLine(item["Name"]);
                }
    展开全文
  • DataTable Linq Example

    2016-07-27 17:48:00
    DataTable CreateTable() { DataTable dtable = new DataTable(); DataColumn dc; //MId CId FId PId dc = new DataColumn("MId", Type.GetType("System.Int...
  • Datatable linq 用法

    2015-06-05 09:50:00
    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;namespace WebApplication_study.Linq{ publi...
  • LINQ 查询适用于实现的数据源IEnumerable<...所以要在DataTable中使用LINQ查询,需要调用一下AsEnumerable方法,返回一个EnumerableRowCollection<DataRow>集合。 实例如下所示: using...
  • DataTable dataTable = new DataTable(); dataTable.Columns.Add("username", typeof(string)); dataTable.Rows.Add("zgj"); dataTable.Rows.Add("zgj"); dataTable.Rows.Add("zgj...
  • 关于datatable datarow DataTable paraval = GetParaVal(DateCondition, strUrl, Page, RowPage, iYearMonthNow, 2); var query = from t in paraval.AsEnumerable() //datatable 和l...
  • 最近接手 了一个非常古老的项目,使用aspx开发的项目,令人不得不感叹,政府的项目就是水准不太高。钱也好挣。 分库查询,多个结果集如何计算取交集。...利用linq获取联合查询,根据data1连接data2,data1为主表,...
  • DataTable products = ds.Tables["Product"]; var query = from product in products.AsEnumerable() where product.Field("Color") == "Red" select new { Name = product.Field("Name"), ProductNumber = ...
  • 根据一个DataTable。 如果它的其中一列是INT或FLOAT之类的话。则要求合。 下面写一下,  CodeDataTabletable=newDataTable();table.Columns.Add("IntColumn",typeof(int));table.Columns.Add("...
  • 我有如下的一段代码 其中,AutoAck,ManAck有可能是在数据库中不存在这两列,在转化数据时,是否有什么方法可以检测列不存在? tempModel = queryData.AsEnumerable().Select(item => new ...
  • linq To DataTable

    2019-06-26 18:09:20
    //将IEnumerable<...类型的集合转换为DataTable类型 1111 public static DataTable LINQToDataTable<T>(IEnumerable<T> varlist) { //定义要返回的DataTable对象 DataTable dtReturn = new...
  • Linq to DataTable

    2016-02-18 09:26:00
    Linq to DataTable public static System.Data.DataTable LinqToDataTable<T>(IEnumerable<T> data) { var dt = new System.Data.DataTable(); var ps = typeof(T).Get...
  • Linq To DataTable

    2012-04-07 20:44:00
    Linq 有很多值得学习的地方,这里我们主要介绍Linq To DataTable,包括介绍DataTable类型等方面。 Linq To DataTable Linq已经让我们感觉不到Query的难点, 它让我们很容易的实现高难度的Query。 或许剩下的问题, ...
  • LINQ to DataSet需要使用System.Core.dll、System.Data.dll和System.Data.DataSetExtensions.dll,在项目中添加引用System.Data和System.Data.DataSetExtensions。 1. DataTable读取列表 DataSet ds = new ...
  • DataTable使用Linq

    2018-11-22 11:25:17
    var results = from myRow in myDataTable.AsEnumerable() where myRow.Field&lt;int&gt;("RowNo") == 1 select myRow;
  • http://www.cnblogs.com/shineblog/archive/2012/09/14/2684417.html http://www.cnblogs.com/junjie94wan/archive/2012/09/11/2679806.html http://www.cnblogs.com/kingangWang/archive/2011/09/07/2169453.html
  • DataTableLinq相互转换方法
  • datatable 分组 linq

    2013-06-22 10:56:38
    var query = from t in dtModel.AsEnumerable()  group t by new { t1 = t.Fieldstring>("company") } into m  select new
  • C#datatablelinq的使用

    2020-08-21 13:58:05
    Datatablelinq使用,主要是按查询条件分组查询排序,方便统计分析,和减少数据交互。 Dictionary<string, int> dicTotalNum = new Dictionary<string, int>(); dtDiseaseInfo.Rows.Cast<...
  • DataTableLinq相互转换

    2016-01-12 16:04:59
    DataTable通过dt.AsEnumerable()方法转换可用Linq查询,反之,Linq也可以转化为DataTable DataTable newDt = query1.CopyToDataTable(); var query1 =  from stu in dtStu.AsEnumerable()  from score in ...
  • C#linq结果集转datatable

    2020-04-11 19:41:15
    public DataTable LINQToDataTable<T>(IEnumerable<T> varlist) { DataTable dtReturn = new DataTable(); // column names PropertyInfo[] oProps = null; if (varlist == ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,353
精华内容 541
关键字:

datatablelinq