sql sugar的ORM -net core3.1 增删改查

562 次浏览

摘要:

博客来源于:讯杰设计网:http://blogs.51diysoft.com/blogs, 立志于做一个C#开发宝典,拿来即用,整理个人工作中遇到的问题,服务器运维、开发、控件、开发小工具、大数据等领域,C#开发宝典 开发宝典预览版,海量源码案例,海量模块,随时可查,触手可及的代码。 立即下载



1、教程使用的是net core3.1,开发环境为vs2022即可,vs2019也支持


vs2022在线下载地址 : 在线下载


image.png


2、完整代码下载,支持sqlserver和mysql


链接:https://pan.baidu.com/s/12PDKv_30kOV3cHpAehgXFQ 

提取码:ppn9 



3、sqlserver版本

链接字符串

Data Source=192.168.2.182,1433;User ID=sa;Password=pwd123456;Initial Catalog=sqlsugar;


4、msyql版本

连接字符

server=192.168.2.182;database=kes_solr;user=root;password=pwd123456;port=3306;pooling=true;max pool size=20;persist security info=True;charset=utf8mb4;


二者的主要区别就在于建表的sql和链接字符串可能所有不一样,代码基本都是一样的。


5、sqlserver版代码如下(msyql的换个链接字符串即可):

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using SqlSugar;
using SugarMVCDemo.Model;
using SugarMVCDemo.Models;
using System;
using System.Collections.Generic;

using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;

namespace SugarMVCDemo.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            //sqlserver测试地址

            //创建数据库对象
            SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = "Data Source=192.168.2.182,1433;User ID=sa;Password=pwd123456;Initial Catalog=sqlsugar;",
                DbType = DbType.SqlServer,
                IsAutoCloseConnection = true
            });

            //调试SQL事件,可以删掉
            db.Aop.OnLogExecuting = (sql, pars) =>
            {
                Console.WriteLine(sql);//输出sql,查看执行sql
            };

          //查询表的所有
            var list = db.Queryable<UserInfo>().ToList();

            //插入
            db.Insertable(new UserInfo() { strUserName = "sugar" + DateTime.Now.ToString("yyyyMMddHHmmss", strUserPass = "123" }).ExecuteCommand();

            //更新
            db.Updateable(new UserInfo() { lngUserID = 1, strUserName = "sugar修改", strUserPass = "123123" }).ExecuteCommand();

            //删除
            db.Deleteable<UserInfo>().Where(p => p.lngUserID ==2).ExecuteCommand();

        
 
            return View();
        }

        public IActionResult Privacy()
        {
            return View();
        }

        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}




mysl版的对比如下:

链接字符串如下:

  //创建数据库对象
            SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = "Data Source=192.168.2.182,1433;User ID=sa;Password=pwd123456;Initial Catalog=sqlsugar;",
                DbType = DbType.SqlServer,
                IsAutoCloseConnection = true
            });


mysql多一个权限设置,允许root远程连接,或者自己单独建立用户。


授权用户,你想root使用密码从任何主机连接到mysql服务器

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY 'hnxyzn123'  WITH GRANT OPTION;

flush privileges;

 

如果你想允许用户root从ip为192.168.1.104的主机连接到mysql服务器

 

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.104'   IDENTIFIED BY 'admin123'  WITH GRANT OPTION; 

flush privileges;