加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – LINQ加入查询结构导致CS0119错误

发布时间:2020-12-15 22:53:16 所属栏目:百科 来源:网络整理
导读:我正在尝试在一个MVC项目中加入两个不同的类模型,所以我可以命令它们上升/下降.我已经尝试了几种排列,但似乎无法让LINQ查询发挥得很好.关于我做错的任何建议? var lateContact = from c in JPLatestContact join s in JPStudent on c.ApplicationUserId equ
我正在尝试在一个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”是我想要加入的两个模型/类/表,并且都有“ApplicationUserId”我可以加入它们,我想通过在“JPLatestContactDate”中找到的值来命令所有结果JPLatestContact模型,按升序排列.

根据我上面写的查询,我得到一个CS0119错误“’JPLatestContact’是一个类型,在给定的上下文中无效.”

我不确定我的结构在哪里出错,或者我在某种程度上误用了JOIN结构?

解决方法

您不能在类型上运行LINQ选择,只能在该类型的集合上运行 – 即任何实现IEnumerable< JPLatestContact>的集合.或者IQueryable< JPLatestContact>,例如List< JPLatestContact>,dbContext.JPLatestContact等.对于JPStudent也是如此 – 你需要一个集合或IQueryable< JPStudent>为了它.

假设您正在查询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模型中定义的实际名称相匹配.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读