采用SqlSugar的DBFirst相关功能创建数据库表对应的实体类

  .NET Core官方教程中推荐使用的EF Core数据库ORM框架虽然能用,但是用起来并不是太方便(或者是不习惯,之前用的最多的还是linq)。之前下载的开源博客项目中使用的SqlSugar,后者是由果糖大数据科技团队维护和更新 ,开箱即用最易上手的.NET ORM框架,开源生态仅次于EF Core,支持国外、国内常用的数据库,使用简单、功能强大。本文开始陆续学习SqlSugar的基本用法。
  ORM框架最重要的工作之一是根据数据库表生成对应的实体类,SqlSugar中的类SqlSugarClient提供DBFirst相关功能可以很方便的生成数据库表对应的实体类,同时SqlSugar还开源了一个网页版的项目支持DBFirst和CodeFirst两种模式的数据库和实体类的映射。
  本文先基于SqlSugarClient类编写简单的生成实体类的程序,然后简要简要开源高性能 代码生成器&数据库设计工具WebFirst的基本用法。
  创建基于.net 6的winform程序,然后在NuGet包管理器中搜索并安装SqlSugarCore包(.Net Framework安装SqlSugar,.Net Core安装SqlSugarCore)

在这里插入图片描述
  创建实体类主要通过SqlSugarClient类,调用如下构造函数,通过传入连接字符串、数据库类型等参数创建实例对象。

	public SqlSugarClient(ConnectionConfig config)

     public class ConnectionConfig
    {
        ...
        public DbType DbType { get; set; }
        public string ConnectionString { get; set; }
        public bool IsAutoCloseConnection { get; set; }
        ...
    }

  然后调用SqlSugarClient类的DbFirst属性创建并输出实体类文件,支持对数据文件进行各类设置,详细的介绍见参考文献1。代码比较简单,程序的运行界面及执行结果如下图所示,可以很方便地创建数据库表对应的实体类。

	SqlSugarClient.DbFirst.IsCreateAttribute().CreateClassFile(实体类文件输出路径,实体类命名空间);	

在这里插入图片描述
  WebFirst是SqlSugar教程中推荐的B/S架构的高性能代码生成器&数据库设计工具(GitHub地址见参考文献2),该工具支持多种数据库,支持CodeFirst、DBFirst等复杂功能。用户可以直接使用WebFirst工具创建创建数据库表对应的实体类,本文简要介绍一下使用步骤。在参考文献2中下载、编译并运行WebFirst项目。
  点击左侧的配置数据库,然后点击添加按钮,添加数据库链接。

在这里插入图片描述
  点击创建实体(表建类模式),在右侧选择数据库。
在这里插入图片描述

  点击导入按钮,选择要创建实体类的表,点击右下角的导入按钮。
在这里插入图片描述
  点击生成方案,选择方案模板,然后即可生成所选表对应的实体类。如下所示:
在这里插入图片描述

参考文献:
[1]https://www.donet5.com/Home/Doc
[2]https://github.com/DotNetNext/WebFirst

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/31326.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网络1】协议及相关命令

文章目录 1.局域网:CSMA/CD2.互联网:ARP,DHCP,NAT3.TCP协议:telnet,tcpdump,syn/accept队列4.HTTPS协议:摘要(sha、md5、crc)。win对文件MD5校验:…

C# NX二次开发:通过UFUN函数获取刀具描述,目录号,库号等信息

今天要将的是,在NX中对CAM模块进行二次开发的时候,往往需要获取一些关于刀具使用的信息,这些信息用NXOPEN的的方法录制也可以录制出来,但是录制出来的代码,往往都是一种刀具类型会出现一个Builder。这样在你不知道有多…

微服务开发系列 第十一篇:XXL-JOB

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

【AI】金融FinGPT模型

金融FinGPT模型开源,对标BloombergGPT,训练参数可从61.7亿减少为367万,可预测股价 继Bloomberg提出了500亿参数的BloombergGPT,GPT在金融领域的应用受到了广泛关注,但BloombergGPT是一个非开源的模型,而且…

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

PoseiSwap是Nautilus Chain上的首个DEX,在Nautilus Chain模块化开发的支持下,PoseiSwap能够以更具延展性的方式来构建应用,并能够为交易者提供极佳的交易体验。基于Nautilus Chain支持下的Zk-Rollup方案,PoseiSwap构建了基于零知识…

cuda pyinstall cvs 使用记录

1.pip 换源 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/2.安装匹配cuda的pytorch 官网:PyTorch pip3 install torch torchvision torchaudio查看能否使用cuda: import torch torch.cuda.is_available()获得以下反馈: 意思…

设计模式之原型模式笔记

设计模式之原型模式笔记 说明Prototype(原型)目录UML原型模式示例类图RealizeType类(浅克隆)测试类 原型模式案例奖状类测试类 扩展(深克隆)学生类奖状类测试类 说明 记录下学习设计模式-原型模式的写法。 Prototype(原型) 意图:用原型实例指定创建对象的种类,并…

如何监测和优化阿里云服务器的性能?有哪些性能分析工具和指标?

如何监测和优化阿里云服务器的性能?有哪些性能分析工具和指标?   阿里云服务器性能监测与优化是云计算服务中一个非常重要的环节。为了确保服务器稳定、高效地运行,我们需要对其性能进行监测,并在监测的基础上进行优化。本文将为…

突破 Python 爬虫的瓶颈:WebKit 在线模拟技术与环境搭建

部分数据来源:ChatGPT 引言 在使用 Python 进行爬虫开发的时候,很多情况下我们需要利用一些浏览器内核来模拟浏览器行为。而目前最为常用的两种浏览器内核是基于 WebKit 和基于 Chromium 的内核。那么在 Windows 10 操作系统中,我们可以使用 Anaconda 作为 Python 的发行版…

CSS3-定位

网页常见布局方式 1 标准流 1 块级元素独占一行 → 垂直布局 2 行内元素/行内块元素一行显示多个 → 水平布局 2 浮动 可以让原本垂直布局的 块级元素变成水平布局 3 定位 1 可以让元素自由的摆放在网…

使用SOCKET搭建linux和window实现实时摄像头传输(linux传输win端使用C++mfc显示)--Win端开发

1.使用MFC搭建框架 配置: Window10VS2013opencv249 如果VS和opencv配置不一样,让版本对应 Opencv与VS版本 1.1 MFC项目搭建 通过这些步骤就创建了一个MFC基础项目。 1.2项目属性配置 本项目因为要使用opencv,所以就要配置以下opencv的环境 首先在opencv官网下载…

(十一)CSharp-LINQ(1)

一、LINQ 数据库可以通过 SQL 进行访问,但在程序中,数据要被保存在差异很大的类对象或结构中。由于没有通用的查询语言来从数据结构中获取数据。所以可以使用 LINQ 可以很轻松地查询对象集合。 LINQ 高级特性: LINQ 代表语言集成查询。LIN…

王道计算机网络学习笔记(1)——计算机网络基本知识

前言 文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。 一:计算机网络基本知识 1.1.1:认识计算机网络 计算机网络的功能 网络把许多计算机连接在一起,而互联网则将许多网络连接在一起&#x…

vue3+ts+vite+electron打包exe

文章目录 一. 前言二. 准备写好的vue项目打包2.1 修改ts打包代码检测.这个比较烦人. 在package.json中 2.2 配置打包参数2.3 打包vue 三. 打包exe3.1 拉取electron官方demo3.2 下载打包插件3.3 在electron-quick-start项目中找到入口文件 main.js ,修改打包的文件路…

【大数据hive】hive 拉链表设计与实现

目录 一、前言 二、拉链表业务背景 2.1 数据同步引发的问题 2.1.1 解决方案1 2.1.2 解决方案2 2.1.3 解决方案3 三、拉链表设计与原理 3.1 功能与应用场景 3.2 实现步骤 3.2.1 Step1 3.2.2 Step2 3.2.3 Step3 3.3 操作演示 3.3.1 创建一张表并加载数据 3.3.2 模…

segment anything环境配置与使用测试

硬件:RTX3070 i9-11900H 内存16G 目录 一、环境配置 二、使用测试--predictor_example.ipynb 1.jupyter notebook准备操作 2.Object masks from prompts with SAM与Environment Set-up 3.Set-up 4.Example image 5.Selecting objects with SAM 6.Specifyin…

在openSUSE-Leap-15.5-DVD-x86_64的gnome下使用远程桌面tigervnc

在openSUSE-Leap-15.5-DVD-x86_64的gnome下使用远程桌面tigervnc 在openSUSE-Leap-15.5-DVD-x86_64的tigervnc-1.12.0软件设计有变动了,变为一开机就启动远程桌面服务,没有vncserver取而代之是Xvnc,也在自己之前写的一篇博文的基础上作了修改…

开源大型语言模型(llm)总结

大型语言模型(LLM)是人工智能领域中的一个重要研究方向,在ChatGPT之后,它经历了快速的发展。这些发展主要涉及以下几个方面: 模型规模的增长:LLM的规模越来越大,参数数量显著增加。这种扩展使得…

Elasticsearch:DSL Query

Query DSL的分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有的数据,一般测试用,例如:match_all,但有分页限制,一次20…

i5 3470+XSB75M-PK+HD 7750安装黑苹果macOS Big Sur 11.7.7

我本次使用的是 HD 7750 进行安装黑苹果(闲鱼80元买的),这款显卡直接就是免驱,最高可以安装的版本是 macOS Monterey ,但是建议安装至 macOS Big Sur 以获得较好的体验。 EFI(OC引导) EFI.zip …