C# 导致CS0119错误的LINQ连接查询结构

C# 导致CS0119错误的LINQ连接查询结构,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我试图将MVC项目中的两个不同的类模型连接在一起,这样我就可以按升序/降序排列它们。我尝试了几种排列方式,但似乎无法使LINQ查询运行良好。对我做错了什么有什么建议吗 var lateContact = from c in JPLatestContact join s in JPStudent on c.ApplicationUserId equals s.ApplicationUserId

我试图将MVC项目中的两个不同的类模型连接在一起,这样我就可以按升序/降序排列它们。我尝试了几种排列方式,但似乎无法使LINQ查询运行良好。对我做错了什么有什么建议吗

var lateContact = from c in JPLatestContact
                  join s in JPStudent on c.ApplicationUserId equals 
                  s.ApplicationUserId
                  orderby c.JPLatestContactDate ascending
                  select s;
说到这个,我是个初学者,但是如果我理解正确的话,“c”和“s”是我自己编的变量。“JPLatestContact”和“JPStudent”是我想要加入的两个模型/类/表,它们都有我可以加入它们的“applicationserid”,我想按照JPLatestContact模型中的值“JPLatestContactDate”对所有结果进行升序

在上面编写的查询中,我得到了一个CS0119错误“'JPLatestContact'是一个类型,在给定上下文中无效。”


我不确定我的结构哪里出了问题,或者我是否以某种方式误用了联接结构?

您不能对类型运行LINQ select,只能对该类型的集合运行—即,任何实现
IEnumerable
IQueryable
,例如
List
dbContext.JPLatestContact
,等等。
JPStudent
-您需要一个集合或
IQueryable

假设您正在查询EF,查询应如下所示:

var lateContact = from c in dbContext.JPLatestContact
                  join s in dbContext.JPStudent on c.ApplicationUserId equals 
                  s.ApplicationUserId
                  orderby c.JPLatestContactDate ascending
                  select s;
确保所有实体名称和属性名称与EF模型中定义的实际名称匹配