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

回到顶部