使用linq查询时遇到无法隐式转换的解决办法

查询时报错无法将某某类型隐式转换成某某类型

Students类

Students.cs
public int id;
public string name;
public string sex;

查询语句如下:

Students stu=new Students();
stu=dbContext.StudentsDS.Where(s=>s.id==12365478).Select(s=> new { name=s.name });
string account=stu[0].name;

或者如下:

List<Students> stu=dbContext.StudentsDS.Where(s=>s.id==12365478).Select(s=> new { name=s.name });
string account=stu[0].name;

这时会报错:无法将XX隐式转换为XX
解决办法如下:

List<Students> stu=dbContext.StudentsDS.Where(s=>s.id==12365478).Select(s=> new { name = s.name }).ToList();
string account=stu[0].name;

遇到无法隐式转换的问题:
注意:

  1. 是否使用和查询结果集相同的变量类型存储,比如说查询结果集是list泛型可以使用list<>或者var存储
  2. 是否在查询的时候ToList()

猜你喜欢

转载自blog.csdn.net/My_ben/article/details/81904087
今日推荐