星空网 > 软件开发 > ASP.net

EF架构~有时使用SQL更方便

回到目录

在进行统计时,尤其是按月进行统计,由于我们采用的时间是一个2015-12-12日这种,所以在linq你无法进行拆分,你拆分了在发到SQL时也会报错,因为SQL那边更新不需要你.net的方法,人家SQL只认自己的方法,哈哈,这也是正常的,为了解决这个问题,我们有时也需要使用纯SQL,当前也是基于EF的,通过EF的上下文把SQL语句发到数据库

下面是一个比较复杂的统计,按月把某个用户的某个任务进行求和及求总数的统计,看一下代码

       var idArr = user_FighterRepository.GetModel(i => i.ParentID == companyId).Select(i => i.UserID).ToList();      string para= string.Join(",", idArr);      var linq = Db.Database.SqlQuery<FighterTaskTotalDTO>(       @"SELECT CONVERT(CHAR(7), Day, 120) as TotalDate,                  COUNT(*) as TaskCount,                  FighterID ,                  SUM(FinishedNumber) as FinishedCount              FROM  dbo.Count_Fighter_ByDay              GROUP BY FighterID ,                  CONVERT(CHAR(7), Day, 120)              HAVING FighterID IN ("+para+")");      return linq.ToList();

看你下SQL的结果

EF架构~有时使用SQL更方便

再看一下网页上显示的结果

EF架构~有时使用SQL更方便

最后需要注意一点,就是你的SQL语句的每个字段必须要有别名,如你的count(*)统计,需要为它起的别名,并且你的别名要和EF映射的实体属性对应!

回到目录




原标题:EF架构~有时使用SQL更方便

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

梅西百货:https://www.goluckyvip.com/tag/1694.html
Cdiscount入驻:https://www.goluckyvip.com/tag/16940.html
Cdiscount物流:https://www.goluckyvip.com/tag/16941.html
Cdiscount新手开店:https://www.goluckyvip.com/tag/16942.html
CDON:https://www.goluckyvip.com/tag/16943.html
CDS账户:https://www.goluckyvip.com/tag/16944.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
在古巴做游轮 古巴旅游项目:https://www.vstour.cn/a/363194.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流