EF操作-删除记录

方法一、先查询出来,然后在删除,代码如下:

 CodeFirstContext context = new CodeFirstContext();

            TUsers user = context.Users.Where(d => d.UserId == 0).FirstOrDefault<TUsers>();
            if (user != null)
            {
                context.Users.Remove(user);
            }
            var affectcount = context.SaveChanges();
            Console.WriteLine(string.Format("删除了{0}条记录", affectcount));

            var userlist = context.Users.ToList();
            foreach (var u in userlist)
            {
                Console.WriteLine(string.Format("账号:{0} 密码:{1}", u.Account, u.Password));
            }

方法二、自己创建一个对象,然后附加,然后删除,代码如下:

 CodeFirstContext context = new CodeFirstContext();

            TUsers user = new TUsers
            {
                UserId = 1
            };
            context.Users.Attach(user);
            context.Users.Remove(user);
            var affectcount = context.SaveChanges();
            Console.WriteLine(string.Format("删除了{0}条记录", affectcount));

            var userlist = context.Users.ToList();
            foreach (var u in userlist)
            {
                Console.WriteLine(string.Format("账号:{0} 密码:{1}", u.Account, u.Password));
            }

方法三、自己创建对象,然后放入EF容器,然后删除,代码如下:

CodeFirstContext context = new CodeFirstContext();

            TUsers user = new TUsers
            {
                UserId = 2
            };

            context.Entry(user).State = EntityState.Deleted;
            var affectcount = context.SaveChanges();
            Console.WriteLine(string.Format("删除了{0}条记录", affectcount));

            var userlist = context.Users.ToList();
            foreach (var u in userlist)
            {
                Console.WriteLine(string.Format("账号:{0} 密码:{1}", u.Account, u.Password));
            }

猜你喜欢

转载自blog.csdn.net/u011872945/article/details/72967255