Entity Framework(3)删除

        #region 删除

        /// <summary>
        /// 删除一条数据
        /// </summary>
        /// <param name="model">删除的对象</param>
        /// <returns>影响行数</returns>
        public int DeleteByModel(T model)
        {
            DbSet<T> ds = db.Set<T>();
            ds.Attach(model);
            ds.Remove(model);
            return db.SaveChanges();
        }

        /// <summary>
        /// 删除多条记录
        /// </summary>
        /// <param name="modelList">删除的对象的集合</param>
        /// <returns>影响行数</returns>
        public int DeleteByList(List<T> modelList)
        {
            DbSet<T> ds = db.Set<T>();
            modelList.ForEach(m =>
            {
                ds.Attach(m);
                ds.Remove(m);
            });
            return db.SaveChanges();
        }

        /// <summary>
        /// 根据条件删除
        /// </summary>
        /// <param name="where">条件</param>
        /// <returns>影响行数</returns>
        public int DeleteByWhere(Expression<Func<T, bool>> where)
        {
            if (where == null)
            {
                throw new ArgumentNullException("条件(where)不能为空");
            }
            DbSet<T> ds = db.Set<T>();
            List<T> query = ds.Where(where).ToList();
            query.ForEach(m =>
            {
                ds.Attach(m);
                ds.Remove(m);
            });
            return db.SaveChanges();
        }

        #endregion


删除我重载了3个方法,一个是根据对象删除,一个是根据对象的集合删除,一个是根据条件删除

 static void Main(string[] args)
        {
            try
            {
                MT5RiskManagementEntities mt5 = new MT5RiskManagementEntities();
                EntityFramework<User> ef = new EntityFramework<User>(mt5);
                int count = 0;
                User user = new User() { id = 203, name = "测试00098", age = 23 };
                count = ef.DeleteByModel(user);
                Console.WriteLine(string.Format("删除了{0}条数据", count));
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
            }
        }


 static void Main(string[] args)
        {
            try
            {
                MT5RiskManagementEntities mt5 = new MT5RiskManagementEntities();
                EntityFramework<User> ef = new EntityFramework<User>(mt5);
                int count = 0;
                List<User> users = new List<User>();
                users.Add(new User() { id = 202, name = "测试00097", age = 22 });
                users.Add(new User() { id = 201, name = "测试00096", age = 21 });
                count = ef.DeleteByList(users);
                Console.WriteLine(string.Format("删除了{0}条数据", count));
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
            }
        }


 static void Main(string[] args)
        {
            try
            {
                MT5RiskManagementEntities mt5 = new MT5RiskManagementEntities();
                EntityFramework<User> ef = new EntityFramework<User>(mt5);
                int count = 0;
                count = ef.DeleteByWhere(u=>u.id>150);
                Console.WriteLine(string.Format("删除了{0}条数据", count));
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
            }
        }



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值