📜  从 LINQ 查询结果集中填充 DataSet 或 DataTable C# (1)

📅  最后修改于: 2023-12-03 15:36:14.013000             🧑  作者: Mango

从 LINQ 查询结果集中填充 DataSet 或 DataTable C#

在 C# 中,我们可以通过 LINQ 来查询数据,然后将查询结果集填充到 DataSet 或 DataTable 中。本文将介绍如何将 LINQ 查询结果集填充到 DataSet 或 DataTable 中。

创建 LINQ 查询

首先,我们需要创建一个 LINQ 查询,通过该查询从数据源中获取数据。以下是一个简单的 LINQ 查询的例子:

var query = from p in products
            where p.Price > 10
            select p;

该查询从 products 数组中选择价格大于 10 的产品。

将查询结果集填充到 DataSet 中

下面是将查询结果集填充到 DataSet 中的代码:

DataSet dataSet = new DataSet();

DataTable dataTable = new DataTable();
dataTable.Columns.Add("ProductName");
dataTable.Columns.Add("Price");

var query = from p in products
            where p.Price > 10
            select p;

foreach (var item in query)
{
    var dataRow = dataTable.NewRow();
    dataRow["ProductName"] = item.Name;
    dataRow["Price"] = item.Price;
    dataTable.Rows.Add(dataRow);
}

dataSet.Tables.Add(dataTable);

在上面的代码中,我们首先创建了一个 DataSet 实例 dataSet,然后创建了一个空的 DataTable 实例 dataTable。接着,我们执行 LINQ 查询,并将查询结果遍历,将每个查询结果添加到 dataTable 中。最后,我们将 dataTable 添加到 dataSet 中。

将查询结果集填充到 DataTable 中

以下是将查询结果集填充到 DataTable 中的代码:

DataTable dataTable = new DataTable();
dataTable.Columns.Add("ProductName");
dataTable.Columns.Add("Price");

var query = from p in products
            where p.Price > 10
            select p;

foreach (var item in query)
{
    var dataRow = dataTable.NewRow();
    dataRow["ProductName"] = item.Name;
    dataRow["Price"] = item.Price;
    dataTable.Rows.Add(dataRow);
}

在上面的代码中,我们创建了一个空的 DataTable 实例 dataTable,然后执行 LINQ 查询,并将查询结果遍历,将每个查询结果添加到 dataTable 中。

注意,这里只填充了一个 DataTable,如果需要填充多个 DataTable,则需要在上面的代码中重复执行相同的操作。

结论

通过本文我们了解了如何将 LINQ 查询结果集填充到 DataSet 或 DataTable 中。这是将数据从数据源加载到 DataSet 或 DataTable 的一种简单而强大的方法。