LINQ to Entities无法识别方法GetValueOrDefault()
t-jian 时间:2022-08-05
正常情况下在EF DB中是无法识别翻译GetValueOrDefault()、ToString()等方法的。需要我们自行扩展相关的方法进行操作。
方法一:
先进行toList()操作把结果集查询出来后,再进行筛选操作。
var find_date = bdb.tbl_store .Join(bdb.tbl_hour, a => a.start_hour_id, b => b.hour_id, (a, b) => new { a, b }) .Join(bdb.tbl_hour, a => a.a.end_hour_id, b => b.hour_id, (a, b) => new { a, b }) .Where(x => x.a.a.store_id == store_id ) .ToList() .Select(x => new { x.a.a.store_id, start_hour_time = x.a.b.hour_time, end_hour_time = x.b.hour_time, start_newdatetime = todaysdate.Date + x.a.b.hour_time.GetValueOrDefault().TimeOfDay, end_newdatetime = todaysdate.Date + x.b.hour_time.GetValueOrDefault().TimeOfDay }).ToList();
方法二:
不使用GetValueOrDefault(),考虑从外部传入如
(a.createtime??DateTime.MinValue).TimeOfDay
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。