ef func写法,在语句中不能使用adddays方法

where(u=>u.date>datetime.now.AddDays());
这样写就是不行
可以改为:
where(u=>System.Data.Objects.EntityFunctions.DiffDays(datetime.now, u.Date)>);

下面是我的一个案例,虽然到了最后都没有实现功能!


 public List<ContractBudget> ListRemindPaymentForAutoSMS()
        {
using (var dbContext = new FMDbContext())
{
IQueryable<ContractBudget> ShowList = dbContext.ContractBudget.Include("CommercialTenant").Include("Contract").Include("Contract.Staff").Include("Contract.Bill").Include("Contract.Bill.Branch").Include("Contract.Bill.Order").Include("Contract.Bill.Order.Room");
//开通短信自动发送有效、有余额商户id-list
List<int> listcommerid = ConfigManager.ListCommercialTenantForRemindPaymentAutoSMS();
Dictionary<int, int> dic = new Dictionary<int, int>();
//(from u in dbContext.ContractBudget where dic.Keys.Contains(u.CommercialtenantID) select u into g new {value = dic[]} );
//通过list取数据--取出支付日期在提醒器内的商户的出房合同预算//催缴期内
var now = DateTime.Now.Date;ShowList = ShowList.Where(u => dic.Keys.Contains(u.ID) && now >= u.Date.AddDays(Convert.ToDouble(dic.Where(d => d.Key == u.ID).First().Key)).Date && now <= u.Date);
//未缴费、房租
ShowList = ShowList.Where(u => u.CheckStatus == (int)EnumContractBudgetCheckStatus.WSH && u.Type == (int)EnumContractBudgetType.FZ);
//预算没有提醒过
ShowList = ShowList.Where(u => u.isAutoSMS == );
return ShowList.ToList();
}
}

这里会报错

ShowList = ShowList.Where(u => dic.Keys.Contains(u.ID) && now >= u.Date.AddDays(Convert.ToDouble(dic.Where(d => d.Key == u.ID).First().Key)).Date && now <= u.Date);
        public List<ContractBudget> ListRemindPaymentForAutoSMS()
{
using (var dbContext = new FMDbContext())
{
IQueryable<ContractBudget> ShowList = dbContext.ContractBudget.Include("CommercialTenant").Include("Contract").Include("Contract.Staff").Include("Contract.Bill").Include("Contract.Bill.Branch").Include("Contract.Bill.Order").Include("Contract.Bill.Order.Room");
//开通短信自动发送有效、有余额商户id-list
List<int> listcommerid = ConfigManager.ListCommercialTenantForRemindPaymentAutoSMS();
Dictionary<int, int> dic = new Dictionary<int, int>();//通过list取数据--取出支付日期在提醒器内的商户的出房合同预算//催缴期内
var now = DateTime.Now.Date;
ShowList = ShowList.Where(u =>  now <= u.Date && System.Data.Objects.EntityFunctions.DiffDays(now, u.Date) < dic.Where(d => d.Key == u.ID).First().Value);
ShowList = ShowList.Where(u => u.CheckStatus == (int)EnumContractBudgetCheckStatus.WSH && u.Type == (int)EnumContractBudgetType.FZ);
//预算没有提醒过
ShowList = ShowList.Where(u => u.isAutoSMS == );
return ShowList.ToList();
}
}

也就是adddays做的判断改成(datetime-datetime).days>number

但是我写的语句还是不行,建议不采用dic的形式!

ef AddDays报错的更多相关文章

  1. 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取

    装饰者模式的学习(c#) 案例转自https://www.cnblogs.com/stonefeng/p/5679638.html //主体基类 using System;using System.C ...

  2. EF关于报错Self referencing loop detected with type的原因以及解决办法

    1)具体报错 { "Message": "出现错误.", "ExceptionMessage": "“ObjectContent` ...

  3. EF相关报错

    EF7无法找寻依赖问题解决方案 现象:使用EF7的过程中,任何"dnx . XXX"的都会报错,提示"cannot resolve dependencies for ta ...

  4. EF SaveChanges() 报错(转载)

    最佳答案 报这个错是因为,提交了主键重复的数据,虽然未提交到数据库中 但是现在的EF上下文中已经包含了我提交的数据,下次在提交正确数据时, 原来添加到上下文中的数据依然还在..如何处理这个问题呢?   ...

  5. dotnet ef执行报错, VS 2019发布时配置项中的Entity Framework迁移项显示不出来

    VS 2019发布时配置项中的Entity Framework迁移项显示不出来 dotnet ef dbcontext list --json “无法执行,因为找不到指定的命令或文件.可能的原因包括: ...

  6. 关于mvc5+EF里面的db.Entry(model).State = EntityState.Modified报错问题

    最近在使用mvc5+EF的的时候用到了这句话 db.Entry(model).State = EntityState.Modified 看上去很简单的修改数据,但是一直报错,说是key已经存在,不能修 ...

  7. 更新EF,EF 报错

    在项目中,对一个视图进行了更新,增加了一个字段,然后需要更新EF访问,可是往往会报错, 查看映射关系发现EF将字段映射为主键,而视图没有进行ISNULL处理. 可以有两种处理方式: 1:修改视图对字段 ...

  8. MVC4数据访问EF查询linq语句的时候报错找不到表名问题

    一天做项目的时候遇到这样的问题,MVC4用EF访问数据查询用linq语句的时候报错找不到表名:报错如下图: 研究了几种情况,最后还是没有找到正真的问题所在,不过可能是和路由解析问题有关,暂时还没有进行 ...

  9. .NET CORE 学习笔记之安装EF【Microsoft.EntityFrameworkCore】扩展报错

    最近在学习.NET CORE ,刚开始就遇到问题了. 安装EF框架的试试就报错, 报错如下: 错误 程序包还原失败.正在回滚“XXX”的程序包更改. 找了好久的方案,网上也没搜到对应的问题和方案,然而 ...

随机推荐

  1. 广告系统的smart pricing是什么

    smart pricing这个词来源于google的Adwords系统,指的是系统能够根据流量质量对流量方的收入进行打折,为的是让广告主获得更高的ROI(投资回报率).将smart pricing的使 ...

  2. javascript删除数组中的某个元素-----拓展Array 原型方法

    Array.prototype.remove = function (dx) { if(isNaN(dx) || dx > this.length) { return false; } var  ...

  3. 用GDB命令PO(print-object)打印UIView的视图层级

    UIView有一个私有方法: recursiveDescription 这个方法可以显示出当前视图的详细层级,可以在代码中直接调用,也可以在GDB中调用,在GDB中调用时需要借助另一个GDB命令:pr ...

  4. photoshop 动作 自己定义快捷键 播放选定的动作

    今天在制作一组效果图.要用到动作.而且是同一个动作,便在网上寻找"播放选定的动作"就是那个三角形播放button的快捷键. 预期这样会大大加快制作过程. 首先制作好动作. 然后,在 ...

  5. sklearn word2vec 实践

    源代码: https://blog.csdn.net/github_38705794/article/details/75452729 一.复现时报错: Traceback (most recent ...

  6. oblique perspective projection

    参考: https://en.wikibooks.org/wiki/GLSL_Programming/Vertex_Transformations <3D游戏与计算机图形学中的数学方法>E ...

  7. 为每个页面加上Session判断

    首先新建一个类,继承自System.Web.UI.Page,然后重写OnInit,如下: using System; using System.Data; using System.Configura ...

  8. 380. Intersection of Two Linked Lists【medium】

    Write a program to find the node at which the intersection of two singly linked lists begins. Notice ...

  9. iOS开发之-收集的不常用却实用的小方法和技巧

    原文链接:http://blog.5ibc.net/p/90386.html 1.颜色转变成图片 - (UIImage *)createImageWithColor:(UIColor *)color ...

  10. linux控制台超时自动注销

    仅让root用户超时退出: 编辑/root/.bash_profile文件,添加 export TMOUT=300 #300秒超时自动退出root 对所有用户设置自动注销: vi /etc/profi ...