Entity Framework(3)删除

来源:互联网 发布:主角有数据属性的小说 编辑:程序博客网 时间:2024/06/07 16:08

        #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();            }        }



原创粉丝点击