Linq 中部分语法(直接执行,)

1. Linq中直接执行数据库语句

 string sql = "update  AMS_Plan_Item set audit_status=1 where plan_id ='" + planid + "' and (audit_status=0 or audit_status=9) and plan_type=0 ";
 int re = context.Database.ExecuteSqlCommand(sql);

2.Linq 左链接

                            var queryauto = from stock in context.AMS_stock
                                            join asset in context.AMS_assets on stock.asset_id equals asset.asset_id into stockasset 
//多条件的链接join asset in context.AMS_assets on new {a.xxx,a.xxxx} equals new {b.xxx,b.xxxx} into xxx

                                            from LFstockAndasset in stockasset.DefaultIfEmpty()
                                            join unit in context.AMS_units on LFstockAndasset.unit_id equals unit.unit_id into assetunit
                                            from LFassetAndunit in assetunit.DefaultIfEmpty()
                                            join supp in context.AMS_suppliers on LFstockAndasset.supplier_id equals supp.supplier_id into assetsupp
                                            from LFsuppAndasset in assetsupp.DefaultIfEmpty()
                                            join manu in context.AMS_manufacturers on LFstockAndasset.manufacturer_id equals manu.manufacturer_id into assetmanu
                                            from LFmanuAndasset in assetmanu.DefaultIfEmpty()
                                            select new AMS_stock_View//
                                            {
                                                manuname = LFmanuAndasset.name,
                                                suppname = LFsuppAndasset.name,
                                                sellprice = LFstockAndasset.sellprice,
                                                asset_id = stock.asset_id,
                                                asset_name = LFstockAndasset.name,
                                                lpinyin = LFstockAndasset.lpinyin,
                                                spinyin = LFstockAndasset.spinyin,
                                                uncheck_amount = stock.uncheck_amount,
                                                spec = LFstockAndasset.spec,
                                                unitname = LFassetAndunit.name,
                                                price = stock.price,
                                                bacth = stock.bacth,
                                                validitydate = stock.validitydate,

                                            };
                            queryauto = queryauto.Where(p => (p.asset_name.Contains(search) || p.lpinyin.Contains(search) || p.spinyin.Contains(search))).Where(p => p.uncheck_amount > 0).Take(50);
                            List<AMS_stock_View> lstauto = queryauto.ToList();
                            Response.Write(JsonHelper.ListToJson<AMS_stock_View>(lstauto, "JSON"));

                    var query = from planItem in context.AMS_Plan_Item
                                join plan in context.AMS_Plans on planItem.plan_id equals plan.plan_id into PlanItemandplan
                                from LFplanItemAndplan in PlanItemandplan.DefaultIfEmpty()
                                where (planItem.audit_status == 0 || planItem.audit_status == 9) && planItem.plan_type == 1 && LFplanItemAndplan.year == year && LFplanItemAndplan.month == month
                                select planItem;

3.linq更新

获取数据并更新

 AMS_Plan_Item planitem = new AMS_Plan_Item();
                                
                                planitem.plan_item_id = dtl.planitemid;
                                 
                                AMS_Plan_Item planchange= entity.AMS_Plan_Item.AsNoTracking().Where(p => p.plan_item_id == planitem.plan_item_id).FirstOrDefault();
                                planitem.supply_amount = planchange.supply_amount+ dtl.quantity;
                                entity.AMS_Plan_Item.Attach(planitem);
                                DbEntityEntry<AMS_Plan_Item> entry = entity.Entry<AMS_Plan_Item>(planitem);
                                entry.State = System.Data.Entity.EntityState.Unchanged;
                                entry.Property(p => p.supply_amount).IsModified = true; //设置要更新的属性
                                int i = entity.SaveChanges();
4.Linq

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值