select Line_Number, ODP_Date,sum(Quantity)
from [dbo].[Line_Daily_ODP_Detail]
where Is_Completed=1
and DATEDIFF (day ,ODP_Date,getdate())=0
and (
( datepart(dw,getdate())>1 and DATEDIFF (week ,ODP_Date,getdate())=0 and datepart(dw,ODP_Date)<>1)
or ( datepart(dw,getdate())=1 and ( DATEDIFF (week ,ODP_Date,getdate()-1 )=0
or DATEDIFF (week ,ODP_Date,getdate())=0 )
)
)
group by Line_Number, ODP_Date order by Line_Number, ODP_Date 如何把这个转换成linq语句
Sql语句转换成linq语句
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 憧憬blog 2023-03-15 00:27关注
可以尝试使用以下的 LINQ 语句来实现相同的功能:
var today = DateTime.Today; var query = from detail in dbContext.Line_Daily_ODP_Detail where detail.Is_Completed && EntityFunctions.DiffDays(detail.ODP_Date, today) == 0 && ( (DbFunctions.DiffDays(today, detail.ODP_Date) > 1 && EntityFunctions.DiffWeeks(detail.ODP_Date, today) == 0 && EntityFunctions.DiffDays(detail.ODP_Date.DayOfWeek, DayOfWeek.Monday) != 0) || (DbFunctions.DiffDays(today, detail.ODP_Date) == 1 && (EntityFunctions.DiffWeeks(detail.ODP_Date, today.AddDays(-1)) == 0 || EntityFunctions.DiffWeeks(detail.ODP_Date, today) == 0)) ) group detail by new { detail.Line_Number, detail.ODP_Date } into g orderby g.Key.Line_Number, g.Key.ODP_Date select new { Line_Number = g.Key.Line_Number, ODP_Date = g.Key.ODP_Date, Quantity = g.Sum(x => x.Quantity) };
值得注意的是,这里假设
dbContext
是数据库上下文对象。此外,由于DATEDIFF
等函数并不被 EF 6 直接支持,因此我们要使用EntityFunctions
或DbFunctions
进行日期计算。解决 无用评论 打赏 举报
悬赏问题
- ¥15 乘性高斯噪声在深度学习网络中的应用
- ¥15 运筹学排序问题中的在线排序
- ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
- ¥30 求一段fortran代码用IVF编译运行的结果
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥30 python代码,帮调试,帮帮忙吧