数据表或数据集中的Linq

本文关键字:Linq 集中 数据集 数据 数据表 | 更新日期: 2023-09-27 17:59:42

我有一个list<string>和一个DataSet。我需要编写一个Linq查询来从数据集或数据表中获取值,以检查这些值是否存在于List<string>中。请帮助我编写从数据集或数据表获取数据的查询

我将在获得值后使用foreach来检查数据是否存在于list<string>

编辑:

DataSet dsDuplicate = (DataSet) Session["EventDescription"];
DataTable dt = dsDuplicate.Tables[0];
string cellValue = string.Empty;
for (int rowCount = 0; rowCount < gvEventMechanic.Rows.Count; rowCount++)
{
     TextBox textBoxId = (TextBox)gvEventMechanic.Rows[rowCount].Cells[2].FindControl("txtId");
     lstStringId.Add(textBoxId.Text);
}

数据表或数据集中的Linq

List<string> list = ...
DataTable table = ...
var items = new HashSet<string>(list);
var results = from row in table.AsEnumerable()
              where items.Contains(row.Field<string>("YourColumnName"))
              select row;
foreach (var matchingRow in results)
{
    // do whatever
}

注意:如果您需要结果以另一个DataTable或DataView的形式(例如用于数据绑定),那么有一些方法可以实现这一点。

var output = results.CopyToDataTable(); // or
var output = results.AsDataView();