使用以下代码可以将 Linq 查询结果转换为 DataTable:

// 定义一个Linq查询
var query = from p in products
            join c in categories on p.CategoryID equals c.CategoryID
            select new
            {
                ProductName = p.ProductName,
                CategoryName = c.CategoryName,
                Price = p.Price
            };

// 创建一个新的DataTable
DataTable dataTable = new DataTable();

// 获取查询结果的属性
var properties = query.First().GetType().GetProperties();

// 添加列到DataTable
foreach (var property in properties)
{
    dataTable.Columns.Add(property.Name, property.PropertyType);
}

// 添加行到DataTable
foreach (var item in query)
{
    var row = dataTable.NewRow();
    foreach (var property in properties)
    {
        row[property.Name] = property.GetValue(item, null);
    }
    dataTable.Rows.Add(row);
}

其中,'products' 和 'categories' 是两个数据源,可以替换成你自己的数据源。查询结果的属性通过 'GetType().GetProperties()' 获取,然后添加到 DataTable 的列中。最后,遍历查询结果,将每个对象转换为 DataRow,然后添加到 DataTable 中。

C# 将 LINQ 查询结果转换为 DataTable

原文地址: https://www.cveoy.top/t/topic/nKo1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录