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

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

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


 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-listList<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 == 0);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-listList<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 == 0);return ShowList.ToList();}}

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

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

转载于:https://www.cnblogs.com/zhaokunbokeyuan256/p/7562548.html

ef AddDays报错相关推荐

  1. EF sqlite3报错 System.Data.Entity.Core.EntityException: 在提供程序连接上启动事务时出错。有关详细信息,请参阅内部异常。...

    问题:sqlite3使用ef框架操作数据库报错 问题原因:数据库文件没有访问权限 结局方案:可以将数据库文件所在的文件夹的访问权限添加Everyone用户权限. 错误:"System.Dat ...

  2. oracle插入时间报错,Oracle 插入时间时 报错:ORA-01861: 文字与格式字符串不匹配 的解决办法...

    一.写sql的方式插入到Oracle中 往oracle中插入时间  '2007-12-28 10:07:24' 如果直接按照字符串方式,或者,直接使用to_date('2007-12-28 10:07 ...

  3. android 解压zip报错_Android 使用 Batterystats 和 Battery Historian 分析电池用量

    Android 使用 Batterystats 和 Battery Historian 分析电池用量 专注于Android开发,分享经验总结,欢迎加入 Android开发中涉及到耗电量怎么分析呢 go ...

  4. EF更新或者删除的时候报错“存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除“

    ScheduleDown表 主键: ① 字段为MachineNum,类型为String . ②字段ScheduleStart,类型为DateTime. using (MESDB db = new ME ...

  5. c# ef报错_C#中Entity Framework常见报错汇总

    以下小编整理的Entity Framework常见错误的汇总,大家如果还有不明白可以在下面留言区讨论. 1 实体属性配置为IsRequired()对更新的影响 抛出异常类型DbEntityValida ...

  6. 关于EF多线程更新数据的一个报错

    报错信息: Store update, insert, or delete statement affected an unexpected number of rows (0). Entities ...

  7. mysql密码遗忘和登陆报错问题

    mysql登录密码忘记,其实解决办法很简单,只需要在mysql的主配置文件my.cnf里添加一行"跳过授权表"的参数选择即可! 在my.cnf中添加下面一行: [root@test ...

  8. 启动mysql服务是报错找不到pid_mysql报错 The server quit without updating PID file

    我的mysql总是在重启的时候mysql的数据总是会初始化,我以为是的配置问题,所以在网上找了各种方法测试都不通过,下面看我遇到的几个错误. 重启mysql失败 [root@wulaoer_mysql ...

  9. python输入两个数用逗号隔开如不是两个数报错_Python数据类型

    1.python的数据类型: 字符串 整数 浮点数 类型转换 字符串编码 列表.元组与字典 2.应用: 序列及其通用操作 相关逻辑运算 1.1字符串(Str) 1.Python中的字符串通常由单引号& ...

最新文章

  1. linux下添加路由的方法
  2. php面向对象(OOP)---- 验证码类
  3. 在windows下用VMware虚拟机来安装linux
  4. percona-toolkit 之 【pt-table-checksum】、【pt-table-sync】说明
  5. AM335x(TQ335x)学习笔记——GPIO关键驱动移植
  6. python 计时_Python time clock()方法
  7. 浅析Thinkphp3.0的行为扩展模式
  8. c++语言代码游戏,c++小游戏(贪吃蛇)源程序
  9. lcd4linux 支持的相框,最新版AIDA64支持LCD4WIN相框太给力了(20140826更新啦)!
  10. ps怎么撤销参考线_干货技巧 | Photoshop10大奇技淫巧(肯定有你不知道的!)
  11. Elasticsearch:InteliJ Elasticsearch plugin 集成
  12. 英语学习/词典App分析-团队作业(五)
  13. 微信企业红包php,微信公众号发红包和企业付款实现方法
  14. 最新整理:阿里、腾讯、字节、华为、百度等大厂Android岗面经分享!
  15. python——计时器,走马灯
  16. 怎么做SEO——页面权重计算公式
  17. c语言 dsp面试题,面试华为DSP开发(杭州)
  18. PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物
  19. 【springboot】Springboot读取别的配置文件
  20. USB启动U盘 计算机找不到,电脑开机快捷启动键找不到u盘怎么办

热门文章

  1. 使用Data Profile进行数据剖析
  2. codevs 1230 元素查找
  3. ORA-12541:TNS没有监听器
  4. Android之webView入门
  5. js ajax上传图片到服务器
  6. objective-c 中代码块(blocks)
  7. “【第二届】Erlang Fans交流会”议程
  8. 关于win10更新后谷歌浏览器打开卡慢或者无法上网的问题解决
  9. html5 接东西游戏,html5手机触屏接红包小游戏代码
  10. linux交换分区的文件格式为,LINUX的交换分区或交换文件SWAP的查看与维护