2018-05-14 12:45

asp.net core 2.0 EntityFrameworkCore之增删改查

摘要

:none

表结构

    public class User
    {
        [Key]
        public int UserId { set; get; }
        [StringLength(8)]
        [Required]
        public string Name { set; get; }
        public int Age { get; set; }
    }

索引

给User的name字段添加索引

    public class DBContext : DbContext
    {
        public DbSet<User> Users { set; get; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<User>().HasIndex(b => b.Name).IsUnique(); ;
        }
        ......
    }

            using (var db = new DBContext())
            {
                db.Database.EnsureCreated();
                Random r1 = new Random();
                var user = new User { Name = "bing_" + r1.Next(100).ToString() };
                db.Users.Add(user);
                return db.SaveChanges().ToString();
            }

        public string Del(int id)
        {
            using (var db = new DBContext())
            {
                var user = new User { UserId = id };
                db.Users.Remove(user);
                return db.SaveChanges().ToString();
            }
        }

        public string Update(int id)
        {
            using (var db = new DBContext())
            {
                //var user = new User
                //{
                //    UserId = id,
                //    Name = "bomo",
                //    Age = 29,
                //};

                ////更新全部字段
                //db.Users.Update(user);

                //更新部分字段
                db.Users.Single(u => u.UserId == id).Name = "test";

                return db.SaveChanges().ToString();
            }
        }

        public string Select(int id)
        {
            using (var db = new DBContext())
            {
                //根据id查询
                //var user = db.Users.Single(u => u.UserId == id);

                //根据name过滤查询
                var user = db.Users
                        .Where(u => u.Name.Contains("test"))
                        .First();

                return user.Name;

            }
        }

 

模糊查询

        public List<User> Select(int id)
        {
            using (var db = new DBContext())
            {
                var user = db.Users
                        .Where(u => EF.Functions.Like(u.Name,"bing%"))
                        .ToList();

                return user;

            }
        }

 

说明

以上只是简单的实现增删改查,详细使用方法可以查看官网文档https://docs.microsoft.com/en-us/ef/core/querying/basic                


如果这篇文章对你有所帮助,可以通过右边的“打赏”功能进行小额的打赏。

本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。