ef AddDays报错
生活随笔
收集整理的這篇文章主要介紹了
ef AddDays报错
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10 UWP开发中的重复性静态UI
- 下一篇: ●(考试失误导致的)倍增总结