Asp.net 使用LINQ查询数据集

Asp.net 使用LINQ查询数据集,asp.net,.net,linq,linq-to-dataset,Asp.net,.net,Linq,Linq To Dataset,可能重复: 我有一个数据集ds,其中包含表emp的内容,属性为ename、pass、status。 我想查询使用LINQ的数据集,以便它返回状态为“out”的记录 当我在datatable上使用数据集时,它起作用。数据集数据不显示 请告诉我如何实现这一点。提前感谢简单地使用它并将结果转换为列表: var query = from e in DS1.emp where e.status == "out" select e; dat

可能重复:

我有一个数据集ds,其中包含表emp的内容,属性为ename、pass、status。

我想查询使用LINQ的数据集,以便它返回状态为“out”的记录

当我在datatable上使用数据集时,它起作用。数据集数据不显示


请告诉我如何实现这一点。提前感谢简单地使用它并将结果转换为
列表

   var query = from e in DS1.emp

            where e.status == "out"


            select e;



dataGridView1.DataSource = query.AsDataView();
首先添加对
System.Data.Extensions.dll
的引用(其中实现了LINQ over DataSet支持)

//填充数据集。
数据集ds=新数据集();
ds.Locale=CultureInfo.InvariantCulture;
数据集(ds);
DataTable orders=ds.Tables[“SalesOrderHeader”];
变量查询=
从orders.AsEnumerable()中的order开始
其中order.Field(“status”)=“out”
选择订单;
yourGridView.DataSource=query.ToList();
yourGridView.DataBind();
您也可以检查此项:

OleDbDataAdapter da=新的OleDbDataAdapter(“从员工处选择empname、pass、status”,康涅狄格州);
数据集ds1=新数据集();
da.填充(ds1,“emp”);
var datasource=来自ds1.Tables[“emp”]中的r.AsEnumerable()
其中r.字段(“状态”)=“输出”
选择新{empname=r.Field(“empname”),status=r.Field(“status”)};
GridView1.DataSource=数据源;
GridView1.DataBind();

使用上述查询时未显示数据您可以共享代码以了解问题。。如果您以正确的方式做每件事,这应该是可行的。检查您的gridview标记是否有问题。如果您的代码在asp.net页面生命周期的特定事件中编写正确..嗨,Niranjan,我只想使用dataset。请查看我添加的代码,并建议我如何直接使用诸如r.status或r.empname之类的属性。感谢您尝试将
.ToList()
添加到
datasouce
。。在该检查结果IEnumerableList是否包含值之前,它将给出编译错误“DS1.emp”,您不能将Dataset用作Datacontext。相反,这里可以使用AsEnumerable()方法。
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);

DataTable orders = ds.Tables["SalesOrderHeader"];

var query =
    from order in orders.AsEnumerable()
    where order.Field<string>("status") == "out"
    select order;

yourGridView.DataSource= query.ToList();
yourGridView.DataBind(); 
OleDbDataAdapter da = new OleDbDataAdapter("select empname,pass,status from employees", conn);
        DataSet ds1=new DataSet();
        da.Fill(ds1,"emp");
            var datasource = from r in ds1.Tables["emp"].AsEnumerable()
                             where r.Field<string>("status")=="out"
                             select new{empname=r.Field<String>("empname"),status=r.Field<string>("status")};
            GridView1.DataSource = datasource;
            GridView1.DataBind();