加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将SQL查询转换为LINQ

发布时间:2020-12-15 17:14:44 所属栏目:百科 来源:网络整理
导读:我有一个名为visit的表,其中包含以下列: visit_Idmember_Id visit_Date visit_Time visit_DateTime visit_Status values like (accepted,refused) 我有以下SQL查询: string sql = @"SELECT CONCAT(UPPER(SUBSTRING(visit_Status,1,1)),SUBSTRING(visit_Sta
我有一个名为visit的表,其中包含以下列:
visit_Id
member_Id 
visit_Date 
visit_Time 
visit_DateTime 
visit_Status values like (accepted,refused)

我有以下SQL查询:

string sql = @"SELECT CONCAT(UPPER(SUBSTRING(visit_Status,1,1)),SUBSTRING(visit_Status FROM 2))  as Status,COUNT('x') AS Visits
   FROM visits
   WHERE visit_Date BETWEEN '2001-09-08' AND '2009-09-09'
   GROUP BY visit_Status";

如何将此SQL转换为LINQ?我的实体名称是dbcontext.在此先感谢您的帮助.

解决方法

你需要使用 EntityFunctions
DateTime dateFrom = new DateTime(2001,9,8);
DateTime dateTo = new DateTime(2001,9);

var query = from v in dbcontext.Visits
            where v.visit_Date >= dateFrom && v.visit_Date <= dateTo
            group v by v.visit_Status into vg
            select new
            {
              Status = EntityFunctions.Concat(EntityFunctions.ToUpper(vg.Key[0]),EntityFunctions.SubString(1,EntityFunctions.Length(vg.Key) -1),Visits = vg.Count()
            }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读