CodeGo.net>如何使用EF与单个查询从MSSQL中选择1条记录?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CodeGo.net>如何使用EF与单个查询从MSSQL中选择1条记录?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含975字,纯文字阅读大概需要2分钟。
内容图文
![CodeGo.net>如何使用EF与单个查询从MSSQL中选择1条记录?](/upload/InfoBanner/zyjiaocheng/880/d617e5e586de4e999dcfea6cdc99b4a5.jpg)
简而言之:
我有数据库中包含CreationTime列的记录.我想从过去2天中选择记录,再加上一条随后可能是任何时间的记录(按创建日期desc排序).
因此,从记录(知道今天的日期是3月11日)中,我想选择最大2天的所有记录1:
1. 2019-03-11
2. 2019-03-11
3. 2019-03-10
4. 2019-03-08
5. 2019-03-07
6. 2019-03-16
因此,结果应包含记录1,2,3,4. (4.即使已满3天,我仍然需要“ 1”记录).
我正在使用MSSQL和.NET 4.6.1实体框架.
解决方法:
IMO清洁器实现此目的的方法是编写两个查询:首先是获取最近两天的数据,其次是获取早于2天的最新记录.
要获取最近2天的记录:
select * from MyTable where CreationTime between getdate() and getdate() - 2
要获取其他记录:
select top 1 * from MyTable where CreationTme < getdate() - 2 order by CreationTime desc
将EF与LINQ方法一起使用(dc是数据库上下文):
要获取最近2天的记录:
dc.Entitites.Where(e => e.CreationTime <= DateTime.Now && e.CreationTime >= DateTime.Now.AddDays(-2));
附加记录:
dc.Entities.Where(e => e.CreationTime < DateTime.Now.AddDays(-2)).OrderByDescending(e => e.CreationTime).First();
内容总结
以上是互联网集市为您收集整理的CodeGo.net>如何使用EF与单个查询从MSSQL中选择1条记录?全部内容,希望文章能够帮你解决CodeGo.net>如何使用EF与单个查询从MSSQL中选择1条记录?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。