C# .net 8 Pomelo.EntityFrameworkCore.MySql, insert,delete,select,update data

1.

dotnet add package Pomelo.EntityFrameworkCore.MySql 

 

复制代码
using Microsoft.EntityFrameworkCore;


namespace ConsoleApp84
{
    internal class Program
    {
        static void Main(string[] args)
        {
            RemoveData();
            Console.ReadLine();
        }

        static void InsertData()
        {
            using (var context = new DbBookDataContext())
            {
                var maxId = context.t1.Max(x => x.Id);
                Console.WriteLine($"Old MaxId:{maxId}");
                for(int i=1;i<1000000;i++)
                {
                    var newId = maxId + i;
                    var newBook = new Book()
                    {
                        Id = newId,
                        FirstName = $"FN_{newId}",
                        LastName = $"LN_{newId}"
                    };
                    context.Add(newBook);
                }
                context.SaveChanges();
                maxId = context.t1.Max(x => x.Id);
                Console.WriteLine($"New MaxId:{maxId}");
            }
            Console.WriteLine("InsertData() finished!");
        }

        static void RemoveData()
        {
            using (var context = new DbBookDataContext())
            {
                var maxId = context.t1.Max(x => x.Id);
                Console.WriteLine($"Old MaxId:{maxId}");
                var maxBk = context.t1.OrderByDescending(x => x.Id).FirstOrDefault();
                if(maxBk!=null)
                {
                    context.Remove(maxBk);
                    context.SaveChanges();
                    maxId = context.t1.Max(x => x.Id);
                    Console.WriteLine($"New MaxId:{maxId}");
                    Console.WriteLine("Finished in RemoveData()");
                }
            }
        }

        static void ReadData()
        {
            using (var context = new DbBookDataContext())
            {
                List<int> idsList = new List<int>()
                {
                    100000000,200000000,300000000,400000000,500000000
                };
                int maxId = context.t1.Max(x => x.Id);
                Console.WriteLine(maxId);
                var books = context.t1.Where(x => idsList.Contains(x.Id)).ToList();
                foreach (var bk in books)
                {
                    Console.WriteLine($"{bk.Id},{bk.FirstName},{bk.LastName}");
                }
            }
            Console.WriteLine("ReadData() finished!");
        }
        
        static void UpdateData()
        {
            using(var context = new DbBookDataContext())
            {
                var maxBk = context.t1.OrderByDescending(x => x.Id).FirstOrDefault();
                if (maxBk != null)
                {
                    Console.WriteLine($"Before update:Id:{maxBk.Id},FirstName:{maxBk.FirstName},LastName:{maxBk.LastName}");
                    maxBk.LastName = $"{maxBk.LastName}_max";
                    context.Update(maxBk);
                    context.SaveChanges();
                    maxBk = context.t1.OrderByDescending(x => x.Id).FirstOrDefault();
                    if (maxBk != null)
                    {
                        Console.WriteLine($"After update:Id:{maxBk.Id},FirstName:{maxBk.FirstName},LastName:{maxBk.LastName}");
                        Console.WriteLine("Finished in UpdateData()");
                    }
                }
            }
        }
    }

    public class DbBookDataContext : DbContext
    {
        static readonly string connStr = "Server=servernamevalue;user id=usernamevalue;password=passwordvalue;database=databasenamevalue";

        //Mapped to table name,t1
        public DbSet<Book> t1 { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySql(connStr, ServerVersion.AutoDetect(connStr));
        }
    }

    public class Book
    {
        public int Id { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }
    }
}
复制代码

 

 

Insert data

 

use mydb;
select * from t1 order by id desc limit 10;

 

 

 

Remove

 

 

 

Select

 

 

 

 

Update

 

 

 

posted @   FredGrit  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示