第1章 获取数据库中的数据

这篇具有很好参考价值的文章主要介绍了第1章 获取数据库中的数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    CoreShop源程序是以数据库优先进行定义的,所以其本身不包含代码优先的定义,但本从更习惯于代码优先,所以为其定义了代码优先的定义。

1 CoreCms.Net.Model.Entities.SysRole

using SqlSugar;

using System.ComponentModel.DataAnnotations;

namespace CoreCms.Net.Model.Entities

{

    /// <summary>

    /// 【系统角色--类】

    /// <remarks>

    /// 摘要:

    ///     通过该实体类及其属性成员,用于实现当前程序【CoreCms.Net.Model.【实体集】.SysRole】实体与“[CoreShop230628].[SysRole]”表之间的CURD的交互操作,并把这些数据存储到数据库设置实例中(内存)

    /// </remarks>

    /// </summary>

    [SugarTable("SysRole", TableDescription = "角色表")]

    public class SysRole

    {

        /// <summary>

        /// 【角色编号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置系统角色实体1个指定实例的整型编号值。

        /// IsPrimaryKey:主键

        /// IsIdentit:自增

        /// </remarks>

        /// </summary>

        [Display(Name = "角色编号")]

        [SugarColumn(ColumnDescription = "角色编号", IsPrimaryKey = true, IsIdentity = true)]

        [Required(ErrorMessage = "请输入{0}")]

        public int Id { get; set; }

        /// <summary>

        /// 【角色名称】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统角色的名称。

        /// </remarks>

        /// </summary>

        [Display(Name = "角色名称")]

        [SugarColumn(ColumnDescription = "角色名称", ColumnDataType = "nvarchar", Length = 50)]

        [Required(ErrorMessage = "请输入{0}")]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string RoleName { get; set; }

        /// <summary>

        /// 【角色名称】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统角色的标识。

        /// </remarks>

        /// </summary>

        [Display(Name = "角色标识")]

        [SugarColumn(ColumnDescription = "角色标识", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string RoleCode { get; set; }

        /// <summary>

        /// 【角色名称】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统角色的备注。

        /// </remarks>

        /// </summary>

        [Display(Name = "备注")]

        [SugarColumn(ColumnDescription = "备注",  ColumnDataType = "nvarchar", Length = 255, IsNullable = true)]

        [StringLength(255, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string Comments { get; set; }

        /// <summary>

        /// 【逻辑删除?】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个值false(可用=0)/true(已经被逻辑删除=1),该值指示系统角色实体的1个指定实例是否已经处于逻辑删除状态。

        /// </remarks>

        /// </summary>

        [Display(Name = "是否删除,0,1")]

        [SugarColumn(ColumnDescription = "是否删除,0,1")]

        [Required(ErrorMessage = "请输入{0}")]

        public bool Deleted { get; set; }

        /// <summary>

        /// 【创建时间】

        /// <remarks>

        /// 摘要:

        ///     获取/设置系统角色实体1个指定实例第1次被持久化到系统角色表中的时间。

        /// </remarks>

        /// </summary>

        [Display(Name = "创建时间")]

        [SugarColumn(ColumnDescription = "创建时间")]

        [Required(ErrorMessage = "请输入{0}")]

        public DateTime CreateTime { get; set; }

        /// <summary>

        /// 【修改时间】

        /// <remarks>

        /// 摘要:

        ///     获取/设置系统角色1个指定实例最后1次被修改后,持久化到系统角色表中的时间。

        /// </remarks>

        /// </summary>

        [Display(Name = "修改时间")]

        [SugarColumn(ColumnDescription = "修改时间")]

        public DateTime UpdateTime { get; set; }

    }

}

2 CoreCms.Net.Model.Entities.SysUser

using SqlSugar;

using System.ComponentModel.DataAnnotations;

namespace CoreCms.Net.Model.Entities

{

    /// <summary>

    /// 【系统用户--类】

    /// <remarks>

    /// 摘要:

    ///     通过该实体类及其属性成员,用于实现当前程序【CoreCms.Net.Model.【实体集】.SysUser】实体与“[CoreShop230628].[SysUser]”表之间的CURD的交互操作,并把这些数据存储到数据库设置实例中(内存)

    /// </remarks>

    /// </summary>

    [SugarTable("SysUser", TableDescription = "用户表")]

    public partial class SysUser

    {

        /// <summary>

        /// 【系统用户色编号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置系统角色实体1个指定实例的整型编号值。

        /// IsPrimaryKey:主键

        /// IsIdentit:自增

        /// </remarks>

        /// </summary>

        [Display(Name = "用户id")]

        [SugarColumn(ColumnDescription = "用户id", IsPrimaryKey = true, IsIdentity = true)]

        [Required(ErrorMessage = "请输入{0}")]

        public int Id { get; set; }

        /// <summary>

        /// 【账号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的账号名称。

        /// </remarks>

        /// </summary>

        [Display(Name = "账号")]

        [SugarColumn(ColumnDescription = "账号", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string UserName { get; set; }

        /// <summary>

        /// 【密码】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的登录密码。

        /// </remarks>

        /// </summary>

        [Display(Name = "密码")]

        [SugarColumn(ColumnDescription = "密码", ColumnDataType = "nvarchar", Length = 100, IsNullable = true)]

        [StringLength(100, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string PassWord { get; set; }

        /// <summary>

        /// 【昵称】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的昵称。

        /// </remarks>

        /// </summary>

        [Display(Name = "昵称")]

        [SugarColumn(ColumnDescription = "昵称", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string NickName { get; set; }

        /// <summary>

        /// 【昵称】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的头像。

        /// 说明:

        ///     该属性通过网络格式的绝/相对路径来映射用户头像图片。

        /// </remarks>

        /// </summary>

        [Display(Name = "头像")]

        [SugarColumn(ColumnDescription = "头像", ColumnDataType = "nvarchar", Length = 255, IsNullable = true)]

        [StringLength(255, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string Avatar { get; set; }

        /// <summary>

        /// 【性别】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的性别。

        /// </remarks>

        /// </summary>

        [Display(Name = "性别")]

        [SugarColumn(ColumnDescription = "性别")]

        [Required(ErrorMessage = "请输入{0}")]

        public int Sex { get; set; }

        /// <summary>

        /// 【手机号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的手机号。

        /// </remarks>

        /// </summary>

        [Display(Name = "手机号")]

        [SugarColumn(ColumnDescription = "手机号", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string Phone { get; set; }

        /// <summary>

        /// 【邮箱】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的邮箱。

        /// </remarks>

        /// </summary>

        [Display(Name = "邮箱")]

        [SugarColumn(ColumnDescription = "邮箱", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string Email { get; set; }

        /// <summary>

        /// 【邮箱验证?】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个值false(不需要)/true(需要),该值指示1个指定系统用户是否需要在邮箱验证操作后才能执行登录操作。

        /// </remarks>

        /// </summary>

        [Display(Name = "邮箱是否验证")]

        [SugarColumn(ColumnDescription = "邮箱是否验证")]

        [Required(ErrorMessage = "请输入{0}")]

        public bool EmailVerified { get; set; }

        /// <summary>

        /// 【实名】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的实名。

        /// </remarks>

        /// </summary>

        [Display(Name = "真实姓名")]

        [SugarColumn(ColumnDescription = "真实姓名", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string TrueName { get; set; }

        /// <summary>

        /// 【身份证号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的身份证号。

        /// </remarks>

        /// </summary>

        [Display(Name = "身份证号")]

        [SugarColumn(ColumnDescription = "身份证号", ColumnDataType = "nvarchar", Length = 50, IsNullable = true)]

        [StringLength(50, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string IdCard { get; set; }

        /// <summary>

        /// 【出生日期】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的生日。

        /// </remarks>

        /// </summary>

        [Display(Name = "出生日期")]

        [SugarColumn(ColumnDescription = "出生日期", IsNullable = true)]

        public DateTime? Birthday { get; set; }

        /// <summary>

        /// 【个人简介】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的个人简介。

        /// </remarks>

        /// </summary>

        [Display(Name = "个人简介")]

        [SugarColumn(ColumnDescription = "个人简介", ColumnDataType = "nvarchar", Length = 500, IsNullable = true)]

        [StringLength(500, ErrorMessage = "{0}】不能超过{1}字符长度")]

        public string Introduction { get; set; }

        /// <summary>

        /// 【机构编号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定系统用户的机构编号。

        /// </remarks>

        /// </summary>

        [Display(Name = "机构id")]

        [SugarColumn(ColumnDescription = "机构id", IsNullable = true)]

        public int? OrganizationId { get; set; }

        /// <summary>

        /// 【状态】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个值0(正常)/1 (冻结),该值指示1个指定系统用户是否需要在邮箱验证操作后才能执行登录操作。

        /// </remarks>

        /// </summary>

        [Display(Name = "状态,0正常,1冻结")]

        [SugarColumn(ColumnDescription = "状态,0正常,1冻结")]

        [Required(ErrorMessage = "请输入{0}")]

        public int State { get; set; }

        /// <summary>

        /// 【逻辑删除?】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个值false(可用=0)/true(已经被逻辑删除=1),该值指示系统用户实体的1个指定实例是否已经处于逻辑删除状态。

        /// </remarks>

        /// </summary>

        [Display(Name = "是否删除,0,1")]

        [SugarColumn(ColumnDescription = "是否删除,0,1")]

        [Required(ErrorMessage = "请输入{0}")]

        public bool Deleted { get; set; }

        /// <summary>

        /// 【注册时间】

        /// <remarks>

        /// 摘要:

        ///     获取/设置系统用户实体1个指定实例第1次被持久化到系统用户表中的时间。

        /// </remarks>

        /// </summary>

        [Display(Name = "注册时间")]

        [SugarColumn(ColumnDescription = "注册时间")]

        [Required(ErrorMessage = "请输入{0}")]

        public DateTime CreateTime { get; set; }

        /// <summary>

        /// 【修改时间】

        /// <remarks>

        /// 摘要:

        ///     获取/设置系统用户1个指定实例最后1次被修改后,持久化到系统角色表中的时间。

        /// </remarks>

        /// </summary>

        [Display(Name = "修改时间")]

        [SugarColumn(ColumnDescription = "修改时间", IsNullable = true)]

        public DateTime UpdateTime { get; set; }

    }

}

3 CoreCms.Net.Core.Config.SqlSugarSetup

using Microsoft.Extensions.DependencyInjection;

using SqlSugar;

using SqlSugar.IOC;                  

using System.Reflection;

namespace CoreCms.Net.Core.Config

{

    /// <summary>

    /// SqlSugarCore中间件启动--类】

    /// <remarks>

    /// 摘要:

    ///     通过该类中的方法成员,把SqlSugarCore中间件依赖注入到.Net(Core)框架内置依赖注入容器中。

    /// </remarks>

    /// </summary>

    public static class SqlSugarSetup

    {

        /// <param name="services">.Net(Core)框架内置依赖注入容器实例。</param>

        /// <summary>

        /// 【配置服务】

        /// <remarks>

        /// 摘要:

        ///     通过该方法成员,把SqlSugarCore中间件依赖注入到.Net(Core)框架内置依赖注入容器中。。

        /// </remarks>

        /// </summary>

        public static void AddSqlSugarSetup(this IServiceCollection services)

        {

            if (services == null) throw new ArgumentNullException(nameof(services));

            //注入 ORM

            SugarIocServices.AddSqlSugar(new IocConfig()

            {

                //数据库连接

                /*ConnectionString = AppSettingsConstVars.DbSqlConnection,

                //判断数据库类型

                DbType = AppSettingsConstVars.DbDbType == IocDbType.MySql.ToString() ? IocDbType.MySql : IocDbType.SqlServer,*/

                ConnectionString = "Server=.;uid=zz;pwd=zz;Database=CoreShop230628;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;",

                DbType = IocDbType.SqlServer,

                //是否开启自动关闭数据库连接-//不设成true要手动close

                IsAutoCloseConnection = true,

            });

            //设置参数

            services.ConfigurationSugar(db =>

            {

                db.CurrentConnectionConfig.InitKeyType = InitKeyType.Attribute;

                //说明:CoreShop的程序是数据库优先,即必须先生成指定的数据库,本人更为喜欢代码优先所以进行了以下定义来实现代码优先。

                //如果指定的数据库软件中不存在指定的数据库,则自动生成该数据库。

                db.DbMaintenance.CreateDatabase();

                //通过反射操作,获取领域文件夹中的所有实体的类型实例。

                //直接获取指定项目中所有类的类型实例。

                Assembly assembly = Assembly.Load("CoreCms.Net.Model");

                //通过过滤操作,获取领域文件夹中的所有实体的类型实例。

                //注意:“Where”过滤操作中“ c.Namespace”最好使用“Contains”,而不要使用“==”

                Type[] _typeArray = assembly.GetTypes()

                    .Where(c => c.Namespace.Contains("CoreCms.Net.Model.Entities") && c.IsClass)//过滤操作。

                    .ToArray();

                //如果数据库软件对自动生成的数据库支持自动备份操作,则通过下行语句在自动生成该数据库中,根据当前项目中的实体类自动生成相应的表。

                //注意:SetStringDefaultLength(stringDefaultLength)必须定义在下行语句中,否则在自动生成表时,该约束定义将不会被映射到表的字段上。

                db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(_typeArray);

            });

        }

    }

}

4 Program.cs

using CoreCms.Net.Core.Config;

var builder = WebApplication.CreateBuilder(args);

//添加数据库连接SqlSugar注入支持

builder.Services.AddSqlSugarSetup();

5 CoreCms.Net.Web.Admin.Controllers.SysRoleController

using Microsoft.AspNetCore.Mvc;

using System.ComponentModel;

using SqlSugar;

using SqlSugar.IOC;

using CoreCms.Net.Model.Entities;

namespace CoreCms.Net.Web.Admin.Controllers

{

    [ApiController]

    [Route("[controller]/[action]")]

    public class SysRoleController : ControllerBase

    {

      private readonly ISqlSugarClient _sqlSugarClient;

        private ISqlSugarClient DbBaseClient;

        public SysRoleController()

        {

            _sqlSugarClient = DbScoped.SugarScope;

        }

        private SqlSugarScope GetDbClient()

        {

            // 必须要as,后边会用到切换数据库操作

            return _sqlSugarClient as SqlSugarScope;

        }

        #region 获取列表============================================================

        [HttpPost]

        [Description("获取列表")]

        public async Task</*AdminUiCallBack*/ bool> GetPageList()

        {

            DbBaseClient = GetDbClient();

          var v = await DbBaseClient

                .Queryable<SysRole>()

                .ToListAsync();

            return true;

        }

        #endregion

    }

}

第1章 获取数据库中的数据,CoreShop230628一步一步前后端开发实现,.Net7,SqlSugarCore,WebApi

 

对以上功能更为具体实现和注释见:230725_001CoreShop230628(获取数据库中的数据)。文章来源地址https://www.toymoban.com/news/detail-614334.html

到了这里,关于第1章 获取数据库中的数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 成为MySQL大师的第一步:轻松学习MySQL数据库的终极指南!

    官网:https://dev.mysql.com/ 1.1 安装 1.1.1 版本 MySQL官方提供了两个版本: 商业版本(MySQL Enterprise Edition) 该版本是收费的,我们可以使用30天。 官方会提供对应的技术支持。 社区版本(MySQL Community Server) 该版本是免费的,但是MySQL不会提供任何的技术支持。 1.1.2 安装 官网下载

    2024年02月06日
    浏览(47)
  • 在Django的数据库操作模型中,怎样获取一对多或多对多关系中的所有“多”?(使用特殊属性:逆向关系管理器)

    当一个模型通过外键或多对多字段与另一个模型建立关联时,Django会自动为该模型生成逆向关系管理器。这个逆向关系管理器的名称是通过在模型类名后面添加 _set 来生成的。在逆向关系管理器上,你可以使用多种查询方法来访问相关对象。 让我们以一个示例来说明。假设你

    2024年02月16日
    浏览(51)
  • Android studio引入外部SQLite数据库,获取数据库列表数据

    准备好Android studio和一个创建管理数据库的软件,推荐SQLite Expert Professional或者Navicat Premium。这里以SQLite Expert Professional为例。 1.穿件sqlite数据库,按照自己的项目要求定义数据库和相应的数据表 1.在main目录下创建assets文件,将准备好的sqlite数据库文件放入这个目录下 解释:

    2024年02月08日
    浏览(58)
  • 数据库——获取表结构SQL

    2024年02月06日
    浏览(50)
  • Unity通过访问java后台获取数据库数据

    unity项目中,需要保存,加载大量的数据信息,对于unity直接编写访问数据库的代码毕竟麻烦。而java中的ruoyi框架可以直接根据数据库表生成对应的java后台,unity调用java后台的接口即可完成数据保存和加载。代码如下: 代码很简单,但是其中涉及到的内容需要和Java后台开发人

    2024年02月12日
    浏览(50)
  • 安装SQL Server2012到最后一步时出现Microsoft SQL Server 2012 Service Pack 1安装程序出现以下错误:等待数据库引擎恢复句柄失败。

    安装SQL Server2012到最后一步时一直出现Microsoft SQL Server 2012 Service Pack 1安装程序 出现以下错误: 等待数据库引擎恢复句柄失败。请查看SQL Server错误日志以了解可能的原因。 如果忽略之后还是继续安装,后面结束的时候面板会显示一些错误,比如:     原以为是版本和兼容的问

    2024年02月17日
    浏览(75)
  • JMeter从数据库中获取数据并作为变量使用

    目录 前言: 1、JMeter连接MySQL数据库 2、线程组下新建一个 JDBC Connection Configuration 配置元件 3、实现数据库的查询-单值引用 4、实现数据库的查询-多值引用 前言: 在进行接口测试时,经常需要使用一些动态的数据,例如从数据库中获取用户信息、配置参数等。JMeter提供了多个

    2024年02月12日
    浏览(46)
  • JMeter如何从数据库中获取数据并作为变量使用?

    目录 前言 1、JMeter连接MySQL数据库 2、线程组下新建一个 JDBC Connection Configuration 配置元件 3、实现数据库的查询-单值引用 4、实现数据库的查询-多值引用 总结: JMeter 如何从数据库中获取数据并作为变量使用?这在我们使用 JMeter 做 接口测试 、 压力测试 时经常碰到,今天通

    2024年02月08日
    浏览(76)
  • Oracle、达梦:☆获取数据库对象、获取对象的DDL定义语句(达梦)

    以下方式在达梦DM数据库中都能跑通,Oracle未测试所有的方式。 数据库所有对象表:包括 表、视图、物化视图、函数、存储过程……等 ①、ALL_OBJECTS视图方式 OBJECT_TYPE 解释: oracle 的ALL_OBJECTS中的OBJECT_TYPE表示: TABLE :表示表,这是用于存储和管理数据库中数据的主要结构。

    2024年02月03日
    浏览(83)
  • JDBC详解(二):获取数据库连接(超详解)

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! ⭕ java.sql.Driver 接口是 所有 JDBC 驱动程序需要实现的接口 。这个接口是提供给数据库厂商使用的,

    2023年04月27日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包