我有一个成员资格表,用于记录用户是否为列表的成员.当对用户的成员资格进行更新时,会写入新记录,而以前的记录将保留原样,从而可以保留其成员资格的历史记录.要获取用户的会员资格状态,需要选择他们的最新条目.

下面是一些用户列表成员资格数据的示例.目的是找到一个LINQ表达式,该表达式按列表和用户分组,但仅返回具有最近插入记录的行.

List Name, Username, Comment, ExpiresOn, Inserted

Test List, joeb, second update, 2012-03-13 16:55:03, 2012-01-31 22:28:40

Test List, joeb, first update, 2012-02-13 16:55:01, 2012-01-31 22:28:39

Test List, joeb, initial, 2012-01-13 16:55:02, 2012-01-31 22:28:38

SQL查询说明了如何提取当前列表成员状态.

select ulm2.ID, ulm2.ExpiresOn, ulm2.Comment, ulm2.Inserted

from UserListMembership as ulm1

left outer join UserListMembership ulm2 on ulm1.id = ulm2.id

group by ulm1.userlistid, ulm1.userid;

问题是如何为不使用嵌套的FirstOrDefault调用的查询编写LINQ表达式,这将导致我的MySQL实体框架提供程序抛出“ System.NotSupportedException:不支持指定的方法”.例外?

更新:

下面是我失败的LINQ表达式,添加FirstOrDefault调用后,它将引发“不支持指定的方法”.

var query = from mem in db.UserListMemberships

where

mem.User.UserUsernames.Any(y => y.Username.ToLower() == username.ToLower())

&& mem.UserList.Account.Subscriptions.Any(x => x.ID == subscriptionID)

&& mem.ExpiresOn > utcNow

group mem by new { mem.UserListID, mem.UserID } into g

select new { UserListMembership = (from mem2 in db.UserListMemberships where mem2.UserListID == g.Key.UserListID && mem2.UserID == g.Key.UserID orderby mem2.Inserted descending select mem2).FirstOrDefault() };

return query.Select(a => a.UserListMembership).ToList();

linq调用mysql函数_mysql-在LINQ中执行FirstOrDefault的另一种方法相关推荐

  1. python调用shell命令-在Python中执行shell命令的6种方法,你都知道吗?

    原标题:在Python中执行shell命令的6种方法,你都知道吗? Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库.今天我们就讲解 ...

  2. python使用教程cmd啥意思-对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  3. python运行命令_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  4. python运行方法_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  5. Linux中执行shell脚本的4种方法

    这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写 ...

  6. aix shell脚本 运行java_Linux中执行shell脚本的4种方法总结

    Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法: 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: c ...

  7. Linux中执行shell脚本的5种方法总结

    Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法: 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: c ...

  8. 在 Ruby 中执行 Shell 命令的 6 种方法

    我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb & ...

  9. 在Oracle中执行动态SQL的几种方法------转载

    在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename  FROM scott.emp t WHERE t.de ...

最新文章

  1. Java学习总结:17
  2. 约瑟夫环问题的两种解法(详解)
  3. Oracle 备份还原
  4. linux is not unix由来,一些奇怪的 unix 指令名字的由来
  5. 【原】winform高效导出Excel带格式设置
  6. ROJECT SERVER如何与OUTLOOK集成使用
  7. jenkins配置ssh免密码登陆
  8. 26. GD32F103C8T6入门教程-CAN外设回环测试
  9. Python:我可以使用类变量作为线程锁吗?
  10. 瑞幸咖啡考虑重回纳斯达克上市 官方回应:报道不实
  11. 【实践】端智能在大众点评搜索推荐重排序的应用实践
  12. 中国加氢处理催化剂行业市场供需与战略研究报告
  13. Could not parse mapping document from input stream hibernate配置异常
  14. error: stray '\357' in program
  15. [一本通]题解 1031
  16. 稻盛和夫的经营十二条
  17. svg模糊图片局部清晰透视图
  18. 离散化:两种离散化方式详解
  19. strncmp函数用法是什么
  20. 纯前端导入excel表格数据

热门文章

  1. linux 简介各发行版
  2. 谷歌浏览器 广告屏蔽插件 ublock
  3. Linux使用退格键(Backspace键)时出现^H 解决方法
  4. 通过PEB获取模块基址
  5. 解决debian apt-get upgrade 错误triggers ci file contains unknown directive `interest-noawait'
  6. 通过进程ID得到进程名
  7. MFC中CArray类原理及其应用
  8. 绝地求生服务器延迟高低排序,绝地求生:延迟不可怕,大神教你如何高ping吃鸡!...
  9. token 生成有哪几种常用方式_实现一个线程有哪几种方式,各有什么优缺点,比较常用的是那种?...
  10. php 输出 cvs,php将数组转换成cvs格式并输出的简单示例