文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

.NET5控制台程序如何使用EF连接MYSQL数据库

2023-06-20 19:45

关注

小编给大家分享一下.NET5控制台程序如何使用EF连接MYSQL数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

使用nuget下载:

Microsoft.Extensions.Configuration.Json

Pomelo.EntityFrameworkCore.MySql

数据库中创建好表:

CREATE TABLE `user2` (  `mid` int NOT NULL AUTO_INCREMENT,  `uname` varchar(45) NOT NULL,  `memo` varchar(200) DEFAULT NULL,  PRIMARY KEY (`mid`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

新建实体类:

using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;namespace ConsoleApp1{    public class user2    {        [Key] //主键         [DatabaseGenerated(DatabaseGeneratedOption.Identity)]  //设置自增        public int mid { get; set; }        public string uname { get; set; }        public string memo { get; set; }    }}

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

{  "ConnectionStrings": {    "Default": "Server=127.0.0.1;Database=wdb;charset=utf8;uid=root;pwd=some;"  }}

新建DbContext

using Microsoft.EntityFrameworkCore;using Microsoft.Extensions.Configuration;using System.IO;namespace ConsoleApp1{    public class DefaultDbContext : DbContext    {                  private IConfiguration configuration;        public DefaultDbContext()        {                         configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build();        }        public DbSet<user2> user2 { get; set; }        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)        {            string connStr = configuration.GetConnectionString("Default");            optionsBuilder.UseMySql(connStr, ServerVersion.AutoDetect(connStr),null);        }            }}

使用

using ConsoleApp1;using System;using System.Linq;namespace Net5ConsoleMySql{    class Program    {        static void Main(string[] args)        {                        try            {                DefaultDbContext context = new DefaultDbContext();                Random rnd = new Random();                string i = rnd.Next(1000, 9000).ToString();                user2 zhangsan = new user2 { uname = "张三" + i, memo = i };                user2 lisi = new user2 { uname = "李四" + i, memo = i };                context.user2.AddRange(zhangsan, lisi);                context.SaveChanges();                var users = context.user2.ToList();                foreach (var user in users)                {                    Console.WriteLine($"{user.mid} {user.uname} {user.memo}");                }            }            catch (Exception ex)            {                Console.WriteLine($"EX: {ex.Message}  ");                if (ex.InnerException != null)                {                    Console.WriteLine($"INNER EX: {ex.InnerException.Message}  ");                }            }            Console.WriteLine("Hello World!");        }    }}

以上是“.NET5控制台程序如何使用EF连接MYSQL数据库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯