Linq查询返回错误
我不明白为什么我从linq查询返回总是不正确的。Linq查询返回错误
[HttpGet] public List<Programs> GetPrograms()
{
using (var context = new ProgramsDataContext1())
{
var qry = (from a in context.Programs
join b in context.courselist on a.Prog_id equals(b.prog_id)
where a.Prog_id ==b.prog_id
orderby a.Programname
select new
{ Prog_id =a.Prog_id,Programname=a.Programname, programlevel=a.programlevel, planname=a.planname, catalogNo=b.catalogNO, coursetitle=b.coursetitle, subject=b.subject
}
).ToList();
return qry ;
}
}
它总是在qry上有一个红色下划线。这里有什么问题?谢谢。
回答:
由于您已经在进行连接,因此不需要where
子句。你的返回类型也不一样,这就是你得到的错误。您现在正在返回一个anonymous
对象的列表,而不是Programs
回答:
只需定义一个只列出您需要的两个类的属性的类,而不是创建一个匿名对象来创建此类的实例。
public class ProgramsCourseDto {
public int Prog_id {get;set;}
public string Programname {get;set;}
public int programlevel {get;set;}
public string planname {get;set;}
public int catalogNo {get;set;}
public string coursetitle {get;set;}
public string subject {get;set;}
}
[HttpGet]
public List<ProgramsCourseDto> GetProgramsCourses()
{
using (var context = new ProgramsDataContext1())
{
var qry = (from a in context.Programs
join b in context.courselist on a.Prog_id equals(b.prog_id)
orderby a.Programname
select new ProgramsCourseDto
{
Prog_id =a.Prog_id,
Programname=a.Programname,
programlevel=a.programlevel,
planname=a.planname,
catalogNo=b.catalogNO,
coursetitle=b.coursetitle,
subject=b.subject
}).ToList();
return qry ;
}
}
以上是 Linq查询返回错误 的全部内容, 来源链接: utcz.com/qa/266592.html