C#多表查询返回List<T>

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#多表查询返回List<T>相关的知识,希望对你有一定的参考价值。

各位学霸, 在C#当中,sql语句查询了多条记录,怎么查询后统一放入一个List泛型集合里面,并使用DatagridView显示出来。 具体应该是则样的一个步骤呢?
是sql语句是有多个表查询出来的记录。。

首先,创建一个类,包含有LIST<T>当中T的各字段,然后声明一个泛型变量mList<类>,最后,给这个变量赋值查询结果集就行了 参考技术A 没必要用List<>
请参考:

SqlDataAdapter da = new SqlDataAdapter("查询语句", "连接串");
DataSet ds = new DataSet();
da.SelectCommand.Connection.Open();
da.Fill(ds);
da.SelectCommand.Connection.Close();
this.dataGridView1.DataSource = ds.Tables[0];

用访问查询结果,参考:
string value=ds.Tables[0].Rows[行索引]["列名"].toString();
参考技术B 首先创建对象类,存储你要显示的字段,
查询数据库,查出结果集
用结果集初始化对象,(可能多个)
利用类构建对象返回
参考技术C List<Table>=sql.ToList();
List<T>=List<Table>;
参考技术D 逐一查询记录放在list中,然后再绑定数据源

C# 如何判断 List<T> 中包含某个属性的对象? 就是说,List<Person> 中如何判

C# 如何判断 List<T> 中包含某个属性的对象? 就是说,List<Person> 中如何判断是否包含年龄为 xx 的对象???(其中,年龄是Person的一个属性)

list的find方法 如:

Person per = list.Find(delegate(Person p) return p.age == 20; )//只返回第一个匹配

List<Person> plist = list.FindAll(delegate(Person p) return p.age == 20; )//返回所有匹配

追问

它返回的是bool值?像Contains一样?

追答

你不是person对象吗,第一个返回对象,第二个返回list集合

参考技术A bool b= lst.Any(p=>p.Age==xx)//using System.Linq;

参考技术B 把LIST<T>转为IEnumerable<T>接口数据
使用IEnumerable<T>扩展方法where(entity=entity.age==20);需要3.5版本支持

以上是关于C#多表查询返回List<T>的主要内容,如果未能解决你的问题,请参考以下文章

c# ef框架怎么使用linq语句多表查询?

LinQ多表查询返回单张表的List<>结果集,但是页面要求用DataTable类型的接收这个结果集 如何将这个list转成

HQL多表查询

hibernate多表联合查询返回的list没有数据,但list.isEmpty()判断为啥不为真

Room多表查询不能嵌套

mybatismybatis多表联查,存在一对多关系的,实体中使用List作为字段接收查询结果的写法