entity framework中时间范围条件的linq语句怎么写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了entity framework中时间范围条件的linq语句怎么写相关的知识,希望对你有一定的参考价值。
我在做项目的时候,遇到这样一个问题:取当天用户发表的数据,这里就涉及到一个时间范围查询问题。代码如下:
select value it from JK_Callsheet as it where it.display in 2,3,4 && it.CreateDay >
2012-12-11 01:00:00 && it.CreateDay< 2012-12-11 23:59:59
这是我的程序最后组装好的查询语句,报的错是:查询语法无效。 附近 项 '1', 列 1, 列 101.,但是我我觉得没得语法错误呀,看不出来,请高手帮忙。
肯定有人会说:给时间加个引号,我尝试过,也会报错,报的是:查询语法无效。 附近 项 '23', 列 1, 列 141.。求解。求方法。
2012-12-11 01:00:00 && it.CreateDay< 2012-12-11 23:59:59
我严重质疑设个SQL语句能否执行....把他放到SQL中试下,首先检测都不通过.为什么会是"&&" 而不是"and".这个语句是拼接出来的吧?拼错了... 参考技术A 你的后台数据库是SQLSERVER么?如果是的话 直接用System.Data.Objects.SqlClient.SqlFunctions.DateDiff("day", 日期1, 日期2) == 0 就行了
Entity Framework 第十篇 条件查询
业务类中 我们根据条件来动态的查询
创建IQueryable接口
public IQueryable<TEntity> GetQueryable() { IQueryable<TEntity> query = dbContext.Set<TEntity>(); return query; }
为什么创建IQueryable接口?IQueryable会在调用ToList()或者Count()等方法的时候,才回向数据库查询,所以只会向数据库提交一次带条件的查询语句,从而提升了性能。
public IList<Shop> Query(Shop model) { IQueryable<Shop> query = GetQueryable().Where(m => m.DelStatus == 0); if (model.ShopID != null) { query = query.Where(m => m.ShopID == model.ShopID); } if (!string.IsNullOrEmpty(model.Name)) { query = query.Where(m => m.Name.Contains(model.Name)); } if (!string.IsNullOrEmpty(model.Province)) { query = query.Where(m => m.Province == model.Province); } if (!string.IsNullOrEmpty(model.City)) { query = query.Where(m => m.City == model.City); } if (!string.IsNullOrEmpty(model.Area)) { query = query.Where(m => m.Area == model.Area); } query = query.OrderBy(m => m.ShopID); return query.ToList(); }
以上是关于entity framework中时间范围条件的linq语句怎么写的主要内容,如果未能解决你的问题,请参考以下文章
来自 MYSQL 中某个范围的 Entity Framework Core 随机记录
根据 ASP.NET Core 和 Entity Framework Core 中的条件禁用 [必需] 属性
Entity Framework技巧系列之十 - Tip 37 - 41
选择行数,按 PostgreSQL 中时间间隔的动态范围排序