您好,
会员登录 快速注册
退出 ( 条未读消息)
关于本站 意见反馈 首页

公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!
全部文章分类
  • 人工智能 >

  • 编程语言 >

  • WPF系列 >

  • ASP.NET系列 >

  • Linux >

  • 数据库 >

  • 嵌入式 >

  • WEB技术 >

  • PLC系列 >

  • 微服务与框架 >

  • 小宅DIY >

  • 学习资料 >

OpenCv基础 ANN车牌识别 yolov5车牌识别 指针式仪表识别 ROS系列 YOLO Halcon Detectron2 昇腾AI ChatGPT在线体验 英伟达JETSON ChatGLM ChatTTS FunASR 地平线 ByteTrack 魔搭社区 LangChain
C C# C++ Python Java Go
WPF
ASP.NET小功能 GPS定位系统-MVC GPS定位系统-VUE ASP.NET WebRTC
Linux Linux内核 Shell MakeFile
MySql SqlServer Oracle
STM8 STM32 51单片机
VUE入门 HTML JavaScript CSS layui镜像网站 ElementUi中文官网 element-plus 图标 Vue - Ant Design官方
三菱 欧姆龙 西门子 施耐德 松下 台达
IOTSharp IOTGateway ABP FRAMEWORK Docker
亚克力音响 编程仙途:智驭万法
面试题与技巧 Python入门技能树 微软C#教程
首页 编程之美 工具下载 全国就业 流量地图 文心一言
GPS定位-EC-01G
ASP.NET GPS定位系统介绍(物联网) GPS定位EC-01G模块系列教程源码下载页(物联网) 1、新建.net core web工程 2、添加自定义登录页面 3、添加百度地图页面 4、添加后台日志系统 5、添加mysql数据存储 6、添加SqlServer数据存储(额外内容) 7、用户注册与登录功能实现 8、添加坐标报表页面(用于遍历地图坐标) 9、前后端数据交互与报表数据展示 10、报表数据的编辑与修改 11、用户登录与退出 12、自定义GPRS通讯协议 13、添加TCP通讯功能(接收) 14、添加TCP通讯功能(发送) 15、模拟GPRS数据通讯 16、设备链接状态检测与提示 17、asp.net发布\winform\wpf版本操作流程 18、GPS协议与AT命令流程说明
4、添加后台日志系统
6、添加SqlServer数据存储(额外内容)
激萌の小宅 小宅博客 GPS定位-EC-01G

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

添加mysql数据存储

参考视频如下,视频来源《GPS定位系统-MVC-添加mysql数据存储》

备注:视频中的部分操作可能会因为Visual Studio的版本差异有所不一样,总体操作流程都是一样的,请自行尝试。视频中采用的是安信可的A9G模块,和当前系列使用的EC-01G模块在AT指令上可能存在差异,这里以博客内容为主,视频主要是讲操作流程。


工程源码下载:GPS定位EC-01G模块系列教程源码下载页(物联网)

IDE环境:Visual Studio 2022


和《C#环境下使用EF操作MySql》章节一样,需要新建一个DbEntity工程。

注意:当前项目的具体表结构请以工程源码为主。


添加DbEntity工程

DbEntity工程需要安装的第三方库如下:

MySql.EntityFrameworkCore

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Relational

注意:千万不能安装preview版本,不然数据库初始化的时候会报下面这个错误:

Method not found: 'System.String Microsoft.EntityFrameworkCore.Diagnostics.RelationalStrings.get_NoConnectionOrConnectionString()'.


博主这里安装是是6.0.9版本

QQ截图20220914163045.jpg


添加流程如下:

首先新建EF CORE类库项目:DbEntity

QQ截图20220914143027.jpg


选择类库,项目名称为“DbEntity”,框架为.NET 6.0

QQ截图20220914143126.jpg


工程新建好了之后,先添加我们需要的依赖到当前工程中:

MySql.EntityFrameworkCore

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Relational


最后添加我们的数据库报表文件,具体添加方法和《C#环境下使用EF操作MySql》章节一样的。我这里就不详细说明了。

最终目录结构如下:

微信截图_20220914143857.jpg

DbBase.cs:公共类,包括字段的添加时间、删除时间、修改时间等

GpsData.cs:GPS的坐标信息保存在这里

User.cs:我们的用户注册信息

MyDbContext.cs:EF Core初始化文件


DbEntity工程添加完成之后,我们需要在WebApplicationGPS工程中引用DbEntity:依赖项->右键->添加项目引用->选择“DbEntity”

QQ截图20220914144335.jpg


初始化数据库

数据库工程添加成功,接下来就是调用DbEntity工程,并初始化数据库表。

添加Res.cs公共类集合封装,在Res中引用我们的DbEntity库,Res.cs文件如下,后续我们还会在这里面添加其他东西

using DbEntity;

namespace WebApplicationGPS
{
    public static class Res
    {
        /// <summary>
        /// 数据库
        /// </summary>
        public static MyDbContext MyDb { set; get; }
    }
}


往appsettings.json文件中添加我们的数据库链接配置:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {
    "mysql": "Server=localhost;port=3306;Database=gps;Uid=root;Pwd=123456;persistsecurityinfo=True;Character Set=utf8;"
  },
  "AllowedHosts": "*"
}


然后在我们的ServerInit类里面引用Res类,初始化我们的MyDbContext库,代码如下:

/// <summary>
/// 启动数据库
/// </summary>
private void DbInit()
{
    try
    {
        Res.MyDb.Database.EnsureCreated();
    }
    catch (Exception e)
    {
        LogHelper.WriteLog(e.Message);
    }
}


DbInit()的引用放在我们“LogHelper.Start();”后面

然后在Program.cs文件中将我们的数据库链接配置读取出来,传递给ServerInit,用于初始化我们的数据库,具体实现,请查看工程源码。

此时启动我们的程序,我们可以看到,在MySql中会自动生成我们的表,如下:

微信截图_20220914173025.jpg


然后我们就可以像《如何使用C#读写Mysql数据库》章节里面讲的一样,操作我们的数据库了。


注意事项

        .net6.0中string默认是不支持null判断的,需要和其他类型一样,添加个问号。在旧版本中,使用EF建的数据库表,string类型默认是支持空值的。如下:

QQ截图20220915150017.jpg


        当采用.net6.0之后,string类型默认不支持空类型。

微信截图_20220915150140.jpg

        由此引发的问题就是:当你想对项目框架进行升级,将低版本的.net升级到6.0时,你会发现,如果你不对sting设置允许为空,数据库报表读取会报错,这是个很坑爹的问题。。。。


4、添加后台日志系统
6、添加SqlServer数据存储(额外内容)

友情链接: CSDN激萌の小宅 95知识库 自考题库 罗分明个人网络博客 精益编程leanboot

小宅博客  www.bilibili996.com All Rights Reserved. 备案号: 闽ICP备2024034575号

网站经营许可证  福建省福州市 Copyright©2021-2026 版权所有

小宅博客
首页 智能家居 地图定位
公告:小宅博客网可以开发票了,需要发票的,去群里找群主哈!!

文章作者:激萌の小宅

促销:¥0

价格:¥0

配送方式: 购买后立即生效(如购买异常,请联系站长)
付款之后一定要等待自动跳转结束,否则购买可能会失败
  • 0 天

    有效期

  • 0

    总销量

  • 0

    累计评价

添加mysql数据存储

参考视频如下,视频来源《GPS定位系统-MVC-添加mysql数据存储》

备注:视频中的部分操作可能会因为Visual Studio的版本差异有所不一样,总体操作流程都是一样的,请自行尝试。视频中采用的是安信可的A9G模块,和当前系列使用的EC-01G模块在AT指令上可能存在差异,这里以博客内容为主,视频主要是讲操作流程。


工程源码下载:GPS定位EC-01G模块系列教程源码下载页(物联网)

IDE环境:Visual Studio 2022


和《C#环境下使用EF操作MySql》章节一样,需要新建一个DbEntity工程。

注意:当前项目的具体表结构请以工程源码为主。


添加DbEntity工程

DbEntity工程需要安装的第三方库如下:

MySql.EntityFrameworkCore

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Relational

注意:千万不能安装preview版本,不然数据库初始化的时候会报下面这个错误:

Method not found: 'System.String Microsoft.EntityFrameworkCore.Diagnostics.RelationalStrings.get_NoConnectionOrConnectionString()'.


博主这里安装是是6.0.9版本

QQ截图20220914163045.jpg


添加流程如下:

首先新建EF CORE类库项目:DbEntity

QQ截图20220914143027.jpg


选择类库,项目名称为“DbEntity”,框架为.NET 6.0

QQ截图20220914143126.jpg


工程新建好了之后,先添加我们需要的依赖到当前工程中:

MySql.EntityFrameworkCore

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Relational


最后添加我们的数据库报表文件,具体添加方法和《C#环境下使用EF操作MySql》章节一样的。我这里就不详细说明了。

最终目录结构如下:

微信截图_20220914143857.jpg

DbBase.cs:公共类,包括字段的添加时间、删除时间、修改时间等

GpsData.cs:GPS的坐标信息保存在这里

User.cs:我们的用户注册信息

MyDbContext.cs:EF Core初始化文件


DbEntity工程添加完成之后,我们需要在WebApplicationGPS工程中引用DbEntity:依赖项->右键->添加项目引用->选择“DbEntity”

QQ截图20220914144335.jpg


初始化数据库

数据库工程添加成功,接下来就是调用DbEntity工程,并初始化数据库表。

添加Res.cs公共类集合封装,在Res中引用我们的DbEntity库,Res.cs文件如下,后续我们还会在这里面添加其他东西

using DbEntity;

namespace WebApplicationGPS
{
    public static class Res
    {
        /// <summary>
        /// 数据库
        /// </summary>
        public static MyDbContext MyDb { set; get; }
    }
}


往appsettings.json文件中添加我们的数据库链接配置:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {
    "mysql": "Server=localhost;port=3306;Database=gps;Uid=root;Pwd=123456;persistsecurityinfo=True;Character Set=utf8;"
  },
  "AllowedHosts": "*"
}


然后在我们的ServerInit类里面引用Res类,初始化我们的MyDbContext库,代码如下:

/// <summary>
/// 启动数据库
/// </summary>
private void DbInit()
{
    try
    {
        Res.MyDb.Database.EnsureCreated();
    }
    catch (Exception e)
    {
        LogHelper.WriteLog(e.Message);
    }
}


DbInit()的引用放在我们“LogHelper.Start();”后面

然后在Program.cs文件中将我们的数据库链接配置读取出来,传递给ServerInit,用于初始化我们的数据库,具体实现,请查看工程源码。

此时启动我们的程序,我们可以看到,在MySql中会自动生成我们的表,如下:

微信截图_20220914173025.jpg


然后我们就可以像《如何使用C#读写Mysql数据库》章节里面讲的一样,操作我们的数据库了。


注意事项

        .net6.0中string默认是不支持null判断的,需要和其他类型一样,添加个问号。在旧版本中,使用EF建的数据库表,string类型默认是支持空值的。如下:

QQ截图20220915150017.jpg


        当采用.net6.0之后,string类型默认不支持空类型。

微信截图_20220915150140.jpg

        由此引发的问题就是:当你想对项目框架进行升级,将低版本的.net升级到6.0时,你会发现,如果你不对sting设置允许为空,数据库报表读取会报错,这是个很坑爹的问题。。。。