猿创征文|【国产数据库实战】一文学会应用SqlSugar访问及操作人大金仓数据库_国产数据库可以用orm吗

​ 这里我们简单创建3张表,分别是用户表sys_user、角色表sys_role、菜单功能表sys_feature、用户角色映射表sys_userrole、角色菜单映射表sys_rolefeature

⭐ sys_user

在这里插入图片描述

id作为主键

在这里插入图片描述

⭐ sys_role

在这里插入图片描述

id作为主键

⭐ sys_feature

在这里插入图片描述

id作为主键

⭐ sys_userrole

在这里插入图片描述

id作为主键

⭐ sys_rolefeature

在这里插入图片描述

这里ID之所以用36位字符,是软件里准备使用GUID,是微软对UUID标准的实现。

至于为什么是36位,原因如下:

这取决于您格式化Guid的方式:

  • Guid.NewGuid().ToString()=> 36个字符(带连字符的)
    输出:12345678-1234-1234-1234-123456789abc
  • Guid.NewGuid().ToString("D")=> 36个字符(连字符,与相同ToString()
    输出:12345678-1234-1234-1234-123456789abc
  • Guid.NewGuid().ToString("N")=> 32个字符(仅数字)
    输出:12345678123412341234123456789abc
  • Guid.NewGuid().ToString("B")=> 38个字符(大括号)
    输出:{12345678-1234-1234-1234-123456789abc}
  • Guid.NewGuid().ToString("P")=> 38个字符(括号)
    输出:(12345678-1234-1234-1234-123456789abc)
  • Guid.NewGuid().ToString("X")=> 68个字符(十六进制)
    输出:{0x12345678,0x1234,0x1234,{0x12,0x34,0x12,0x34,0x56,0x78,0x9a,0xbc}}

📑 Sqlsugar

♈ 基本介绍

​ SqlSugar 是一款 老牌 .NET 开源ORM框架,由果糖大数据科技团队维护和更新 ,开箱即用最易上手的ORM框架 ,51Job和Boss直招简历数超过 国外框架 Nhibernate PetaPoco, 仅次于Dapper和EF Core , 占Dapper 40% 。

⭐ 功能介绍
  1. 相比EF Core【学习成本低一天学会】,多库支持更好 ,在国内拥有不逊色EF Core 的【开源生态】。
  2. 支持 .NET 百万级【大数据】写入和更新、分表和几十亿查询和统计等 拥有成熟方案。
  3. 支持 完整的SAAS一套应用 跨库查询 、租户分库 、租户分表 和 租户数据隔离。
  4. 支持【低代码】+工作流 (无实体多库兼容CRUD & JSON TO SQL )。
  5. 语法最爽的ORM、优美的表达式、仓储、UnitOfWork、DbContext、AOP。
  6. 支持 DbFirst、CodeFirst和【WebFirst】 3种模式开发。
  7. 简单易用、功能齐全、高性能、轻量级、服务齐全、官网教程文档、有专业技术支持一天18小时服务。
⭐ 数据库支持
关系型数据库 MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、人大金仓、神通数据库、瀚高、Access 、MySqlConnector、华为 GaussDB 、南大通用 GBase 、Odbc、自定义
时序数据库 QuestDb (适合几十亿数据分析,模糊查询,自动分表存储 ,缺点不支持删除)
列式存储库 Clickhouse(适用于商业智能领域(BI),缺点大小写必须和库一样,不支持事务)
即将上线 Mongodb(mongodb.entities)TDengine、Sybase…

♉ Nuget安装

⭐ 打开Nuget

​ 点击项目引用 >> 右键 Nuget管理

在这里插入图片描述

⭐ 安装SqlSugar

​ .Net Core 3 & 5 & 6 &7

在这里插入图片描述

⭐ SqlSugar源码

​ 博主这里因为需要对SqlSugar做一些修改,所以用了源码,结构如下,

在这里插入图片描述

♊ 人大金仓 .NET 操作数据库

⭐ 人大金仓枚举

分为R6和R3一定要看 下面的安装 小有区别

public enum DbType
{
    MySql ,
    SqlServer,
    Sqlite,
    Oracle,
    PostgreSQL,
    Dm, 
    Kdbndp // 人大金仓 只支持.NET CORE
}

⭐ 安装

R3
版本只需要引用 SqlSugarCore

R6
版本需要单独安装 SqlSugarCore.Kdbndp 6.1 和 SqlSugarCore

⭐ 人大金仓优点

基本上和PgSql一模一样更贴近开发功能也继承了pgsql所有功能,对开发人员比较友好

⭐ 连接字符串

appsettings.json配置

"ConnectionStrings": {
    "kdbndp": "data source=127.0.0.1;database=test;Port=54321;UID=SYSTEM;PWD=system", //测试版本用人大金仓数据库
  },

UnitOfWork.cs 工作单元实现

using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using SqlSugar;
using System;

namespace Sys.Infrastructure.Data
{
    /// <summary>
    /// 工作单元实现
    /// </summary>
    public abstract class UnitOfWork : IUnitOfWork
    {
        public UnitOfWork(IConfiguration configuration, IHttpContextAccessor accessor)
        {
            Configuration = configuration;
            HttpContextAccessor = accessor;
        }

        protected IConfiguration Configuration { get; set; }
        public IHttpContextAccessor HttpContextAccessor { get; set; }
        protected DateTime StartTime { get; set; }
        protected DateTime 
  • 24
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值