【C#】EF简单增删改查


using (Models.MPMS_DBDataContext db = new Models.MPMS_DBDataContext())
            {
                #region 添加
                //添加一个用户信息
                var user = new Models.Users() {
                    U_LoginName = "xx",
                    U_RealName = "xx",
                    U_Password="xx",
                    U_Sex="男"
                };
                db.Users.InsertOnSubmit(user);//不同EF版本也可以用.add
                db.SubmitChanges();//不同EF版本也可以用db.Save();db.SaveChanges();

                //循环添加5个用户 方法一
                for (int i = 0; i < 5; i++)
                {
                    var user2 = new Models.Users()
                    {
                        U_LoginName = "xx",
                        U_RealName = "xx",
                        U_Password = "xx",
                        U_Sex = "男"
                    };
                    db.Users.InsertOnSubmit(user);//add
                }
                db.SubmitChanges();//db.savachanges();

                //循环添加5个用户 方法二
                List<Models.Users> users = new List<Models.Users>();
                for (int i = 0; i < 5; i++)
                {
                    users.Add(new Models.Users()
                    {
                        U_LoginName = "xx"+i,
                        U_RealName = "xx",
                        U_Password = "xx",
                        U_Sex = "男"
                    });
                }
                db.Users.InsertAllOnSubmit(users);//追加多条
                db.SubmitChanges();//提交
                #endregion

                #region 删除
                //现在一般都是用软删除,在设计数据表的时候有一个is_Delete字段,用0和1来标识删除的状态
                //单条删除
                var user3 = db.Users.FirstOrDefault(p=>p.U_ID==1);
                if (user3!=null)
                {
                    db.Users.DeleteOnSubmit(user3);//Remove
                    db.SubmitChanges();
                }

                //批量删除
                #endregion
                var users4 = db.Users.Where(p => p.U_Sex == "女").Select(p => p).ToList();
                db.Users.DeleteAllOnSubmit(users4);
                db.SubmitChanges();

                #region 修改
                //单条修改
                var user5 = db.Users.FirstOrDefault(p=>p.S_ID==1);
                if (user5!=null)
                {
                    user5.U_Sex = "女";
                    db.SubmitChanges();
                }
                //批量修改(所有性别女改成男)
                var user6 = db.Users.Where(p => p.U_Sex == "女").Select(p => p).ToList();
                foreach (var item in user6)
                {
                    item.U_Sex = "男";
                }
                db.SubmitChanges();
                #endregion

                #region 查询
                //单个查询
                var user7 = db.Users.FirstOrDefault(p=>p.U_ID==1);

                //条件查询
                var user8 = db.Users.Where(p => p.U_Sex == "男" && p.U_Telephone.StartsWith("153")&&p.U_CanDelete==true).Select(p=>p).ToList();//Contains(是否包含)/StartsWith(以什么开头)/EndsWith(以什么结尾)

                //连表查询(Linq)
                var user9 = (from u in db.Users
                            join s in db.Shops on u.S_ID equals s.S_ID
                            where u.U_Sex=="男"
                            select new { 
                                u.U_LoginName,
                                s.S_Name,
                            }).ToList();
                //排序
                var user10 = db.Users.Select(p => p).OrderBy(p => p.U_ID).ToList();

                //分页
                var user11 = db.Users.Select(p => p).Take(10).Skip(10).ToList();//跳过(skip)几行取(take)几行
                //模糊查询
                var user12 = db.Users.Where(p => p.U_RealName.Contains("管")).Select(p => p).ToList();

                //部分查询
                var user13 = db.Users.Select(p => new Users
                {
                   Name = p.U_LoginName,
                   RName = p.U_RealName,
                   Password = p.U_Password
                }).ToList();
            
                #endregion
            }

猜你喜欢

转载自blog.csdn.net/CountryShi/article/details/102882613