国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

国产化之路-统信UOS操作系统安装
国产化之路-国产操作系统安装.net core 3.1 sdk
国产化之路-安装WEB服务器
国产化之路-安装达梦DM8数据库
国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

引言

经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官方源上并没有正式发布,需要从Win64安装版本中的drivers/dotNet提取,这里需要事先准备。

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

创建项目

出于开发的习惯和便利性,项目的开发和调试都还是在windows的环境下面进行,打开Visual Studio 2019,创建新项目,使用ASP.NET Core web应用程序模板,项目名称自己取一下,我这里取名DmExample,版本选择ASP.NET Core 3.1 ,为HTTPS 配置勾选去掉,暂时不需要HTTPS

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

点击”创建“按钮后,稍微等待一会儿,默认的MVC项目搭建完成。在Controllers目录下只有一个HomeController.cs文件,点击运行看一下:

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

已经可以正常跑起来,接下来我们要在这个基础下开始添加模型、连接达梦数据库、创建数据库、添加简单的增删改查的操作。

添加驱动

在添加应用之前,为了能够连接数据库和创建表,我们首先要使用NuGet包管理工具,安装如下支持包:

Microsoft.EntityFrameworkCore

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.Design

安装完以上包后,我们需要安装EF Core的达梦数据库驱动,前面提到过在官方的NuGet源中并没有达梦的EF Core驱动,但在达梦的安装盘上有提供,所以需要对NuGet包管理器的程序包源进行添加设置,将达梦数据库安装源中的EFCore.Dm3.1,DmProvider作为包源引入,然后再安装。

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

在NuGet包管理器中,点击右上角(红框框起来的齿轮图标),弹出选项窗口:

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

点击窗口右上角的加号图标,然后名称输入EFCore.Dm3.1,源路径选择你光盘镜像下面的source\drivers\dotNet\EFCore.Dm3.1。以同样的方式将DmProvider包源引入,源路径:source\drivers\dotNet\DmProvider,包源设置完成后就可以安装。

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

如上图所示,选择程序包源EFCore.Dm3.1后,在浏览面板中会列出达梦的EntityFramework Core的驱动包,选择它然后点击”安装“。

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

同样,选择程序包源DmProvider后,在浏览面板中会列出达梦的DmProvider的驱动包,选择它然后点击”安装“。这里有个地方需要注意,在NuGet包源上可以搜索到DmProvider 2.0版本的包,虽然版本高于我们当前的本地版本,但这个是.NetFramework版本的,于2017年9月7日发布,不适用于Core版本的,请不要安装或更新。

国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

添加模型

驱动安装完成后,我们要添加一个数据模型,在Models目录下添加一个User.cs用户模型,具体代码如下:

using System; using System.ComponentModel.DataAnnotations; namespace DmExample.Models { /// <summary> /// 用户模型 /// </summary> public class User { public User() { Id = Guid.NewGuid().ToString("N"); CreateTime = DateTime.Now; } [Key] public string Id { get; set; } /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 年龄 /// </summary> public int? Age { get; set; } /// <summary> /// 性别 /// </summary> public bool? Gender { get; set; } /// <summary> /// 创建日期 /// </summary> public DateTime? CreateTime { get; set; } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwfxj.html