请选择 进入手机版 | 继续访问电脑版

[ASP.NET] .NET5控制台程序使用 EF毗连 MYSQL数据库的方法

[复制链接]
查看131 | 回复22 | 2021-9-15 05:25:10 | 显示全部楼层 |阅读模式

1.利用 nuget下载:

Microsoft.Extensions.Configuration.Json

Pomelo.EntityFrameworkCore.MySql

2.数据库中创建好表:

  1. CREATE TABLE `user2` (
  2. `mid` int NOT NULL AUTO_INCREMENT,
  3. `uname` varchar(45) NOT NULL,
  4. `memo` varchar(200) DEFAULT NULL,
  5. PRIMARY KEY (`mid`)
  6. ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
复制代码

3.新建实体类:

  1. using System.ComponentModel.DataAnnotations;
  2. using System.ComponentModel.DataAnnotations.Schema;
  3. namespace ConsoleApp1
  4. {
  5. public class user2
  6. {
  7. [Key] //主键
  8. [DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增
  9. public int mid { get; set; }
  10. public string uname { get; set; }
  11. public string memo { get; set; }
  12. }
  13. }
复制代码

4.新建一个json设置 文件:appsettings.json,设置为始终复制。

  1. {
  2. "ConnectionStrings": {
  3. "Default": "Server=127.0.0.1;Database=wdb;charset=utf8;uid=root;pwd=some;"
  4. }
  5. }
复制代码

5.新建DbContext

  1. using Microsoft.EntityFrameworkCore;
  2. using Microsoft.Extensions.Configuration;
  3. using System.IO;
  4. namespace ConsoleApp1
  5. {
  6. public class DefaultDbContext : DbContext
  7. {
  8. private IConfiguration configuration;
  9. public DefaultDbContext()
  10. {
  11. configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build();
  12. }
  13. public DbSet<user2> user2 { get; set; }
  14. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  15. {
  16. string connStr = configuration.GetConnectionString("Default");
  17. optionsBuilder.UseMySql(connStr, ServerVersion.AutoDetect(connStr),null);
  18. }
  19. }
  20. }
复制代码

6.利用

  1. using ConsoleApp1;
  2. using System;
  3. using System.Linq;
  4. namespace Net5ConsoleMySql
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. try
  11. {
  12. DefaultDbContext context = new DefaultDbContext();
  13. Random rnd = new Random();
  14. string i = rnd.Next(1000, 9000).ToString();
  15. user2 zhangsan = new user2 { uname = "张三" + i, memo = i };
  16. user2 lisi = new user2 { uname = "李四" + i, memo = i };
  17. context.user2.AddRange(zhangsan, lisi);
  18. context.SaveChanges();
  19. var users = context.user2.ToList();
  20. foreach (var user in users)
  21. {
  22. Console.WriteLine($"{user.mid} {user.uname} {user.memo}");
  23. }
  24. }
  25. catch (Exception ex)
  26. {
  27. Console.WriteLine($"EX: {ex.Message} ");
  28. if (ex.InnerException != null)
  29. {
  30. Console.WriteLine($"INNER EX: {ex.InnerException.Message} ");
  31. }
  32. }
  33. Console.WriteLine("Hello World!");
  34. }
  35. }
  36. }
复制代码

到此这篇关于.NET5控制台程序利用 EF毗连 MYSQL数据库的方法的文章就先容 到这了,更多干系 .NET5利用 EF毗连 MYSQL内容请搜索 脚本之家从前 的文章或继续欣赏 下面的干系 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 忆神姆原们 | 2021-9-20 11:57:29 | 显示全部楼层
大神好强大!
回复

使用道具 举报

avatar 春天到了 | 2021-9-21 14:11:33 | 显示全部楼层
十分赞同admin楼主!
回复

使用道具 举报

avatar 15254714558 | 2021-9-21 14:11:36 | 显示全部楼层
admin楼主的帖子实在是写得太好了。文笔流畅,修辞得体!
回复

使用道具 举报

avatar 边锋1 | 2021-9-22 06:23:15 | 显示全部楼层
祖国尚未统一,我却天天灌水,好内疚!
回复

使用道具 举报

avatar 消敢市音 | 2021-9-23 17:20:41 | 显示全部楼层
admin楼主加油,看好你哦!
回复

使用道具 举报

avatar 把心掏給珎丶 | 2021-10-5 11:53:53 | 显示全部楼层
admin楼主发几张靓照啊!
回复

使用道具 举报

avatar 崔炫俊献 | 2021-10-12 13:33:09 | 显示全部楼层
看帖回帖一条路!
回复

使用道具 举报

avatar 雍不言弃 | 2021-10-13 11:39:15 | 显示全部楼层
支持一下,下面的保持队形!
回复

使用道具 举报

avatar 湘军 | 2021-10-14 12:13:44 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,他卖的服务器是永久的,我们的网站用 服务器都是在这家买的,你可以去试试。访问地址:http://fwq.mxswl.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则