entity framework 批量删除

以前用SQL写批量删除的时候,感觉挺利索的,简洁地写了

public bool Delectusersuggest(string addsql)
        {
            bool resultdelete = false;
            string sql = "delete from UserSuggest where";
            sql += addsql;
            resultdelete = this.ExeSQL(sql);
            return resultdelete;
        },然后在页面层直接调用

现在用Entity Framework,感觉有点麻烦不能直接delete,还要先把数据查出来,以下是主要代码:

1、先查出实体

#region 通过供应商用户ID返回供应商实体  --LJY
        /// <summary>
        /// 通过传入供应商用户ID返回对应的供应商实体
        /// </summary>
        /// <param name="supplierid"></param>
        /// <returns></returns>
        public Entity.供应商信息表 SelectOneSupplier(int supplierid) {
          
            Entity.供应商信息表 supp= null;
            try
            {           
                supp = context.TB_CUS_SUPPLIER_INFO.Single(b=>b.SUPP_ID==supplierid);             
            }
            catch { }
            return supp;
        }
        #endregion

2、再删除

#region 批量删除供应商用户  --LJY
        /// <summary>
        /// 传入供应商用户ID数组,批量删除供应商用户,成功返回true,失败返回false
        /// </summary>
        /// <param name="arr"></param>
        /// <returns></returns>
        public bool DeleteBatchSupplier(string sids) {
            bool flag = false;
            context.Connection.Open();
            var tran = context.Connection.BeginTransaction();
            try
            {
              sids=sids.Substring(0, sids.Length - 1);
                string[] ids = sids.Split('|');

                  foreach (var item in ids)
                {
                    Entity.供应商信息表 mm = new Entity.供应商信息表();
                    mm = this.SelectOneSupplier(Convert.ToInt32(item));
                    context.TB_CUS_SUPPLIER_INFO.DeleteObject(mm);
                    context.SaveChanges();
                }
                tran.Commit();
                flag = true;
                context.Connection.Close();
            }
            catch {
                tran.Rollback();
                context.Connection.Close();
            }
            return flag;
        }

        #endregion

 

以上是小弟的不才之解,不过可以成功实现自己想要用的功能,哪里不中处望各位指教,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值