用 linq to sql 多表查询 可以绑定到DataGridView上面吗?(不要新建实体)

2025-04-28 02:08:45
推荐回答(3个)
回答1:

这个不可以,linq to sql查询出来的结果集类型为IQueryable,而这种结果集的类型不是DataGridView的类型,DataGridView需要的数据源类型为DataTable,View等类型

回答2:

当然可以,不要被楼上的误导了。所有的直接或间接继承自ICollection, IList 接口的集合类均可以作为DataGridView的数据源。 linq to sql 查询出来的,可以不用创建对应的entity. 返回匿名类型也可以。

回答3:

vary query=from pp in ds["admin"].asEnumerable where new{pp.Fields("id")=='"+yourloginid+"',pp.Fields("pwd")='"+yourpwd+"'} select pp;
DatagridView.DataSource=query.ToList();
/*ds["admin"]这是你查询的数据表(例如查询登录表)
1、OleDbAdapt ad=new OleDbAdapt(str,con);
2、DataSet ds=new DataSet();
3、ad.Fill(ds,"admin");
查询的数据装在query里面,然后绑定就可以了
或者 你也可以创建linqtosqldatacontext 或者创建xml,从节点里面读取
大致如:
1、Xelement xe=Xelement.Load(Server.MapPath("../你的xml相对路径"));
2、Ienumerable ie= from pp in xe.Elements("xe") where pp.Element("id")==.. &&
pp.Element("pwd")==..} select pp;
方法有多种,看你怎么用了,希望能对你有所帮助
*/