EF linq杂记

EF中的Linq 

context.Users.Where(o =>  EF.Functions.Like(o.UserName, "wa%") ).ToList();

 

            var ccc = (from o in Context.BoxLogs
                       join oo in Context.Jobs
                       on o.JobId equals oo.Id
                       join ooo in Context.PositionInfoes
                       on o.PositionId equals ooo.SortNum
                       join o4 in Context.Lines
                      on o.LinId equals o4.LineId
                      into re    //左连
                       from r in re.DefaultIfEmpty()
                       where oo.JobNumber.Equals(jobName)
                       select new
                       {
                           oo.JobNumber,
                           ooo.PostionName,
                           o.FullBoxSn,
                           r.LineName,
                           Status = o.IsComplete == true ? "已使用": "未使用"  //linq case when
                       }).ToList();
//通过工单找出站位,Sn,线别,以及使用状态

            // BoxLog是数据库实体
            //PositionInfo是数据库实体
            var tt = Context.BoxLogs.Join(Context.PositionInfoes, (BoxLog o) => o.PositionId, (PositionInfo p) => p.SortNum, (o, oo) => new
            {
                o.PositionId,
                oo.PostionName
            }).ToList();

//EF中写SQL语句

这里是查寻

            string sn = "G8T1GH000402PXJD";
            using (EF.RecordTest test = new EF.RecordTest())
            { 
string sql = "SELECT * FROM	 dbo.ims_success_logfiles WHERE test_type_name LIKE '" + sn + "%' AND Rework_Clear_Flag IS NULL";
 //List<EF.ims_success_logfiles> cct = test.ims_success_logfiles.SqlQuery(sql).ToList();
发现上面的要比下面的慢
   List<EF.ims_success_logfiles> ccc=    test.Database.SqlQuery<EF.ims_success_logfiles>(sql).ToList();
            }
//直接使用QSL语句和下面的sql语句一样.
  SELECT * FROM	 dbo.ims_success_logfiles WHERE test_type_name LIKE 'G8T1GH000402PXJD%' AND Rework_Clear_Flag IS NULL

下面的例子是 更新,新增及删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值