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();