webapi mysql_.netCore搭建WebAPI,以及MySQL,SQL server数据库连接方式

本文介绍了如何使用.NETCore搭建WebAPI,并详细讲解了连接MySQL和SQL Server数据库的方法,包括创建项目、数据库连接配置、实体类与数据库上下文的设置,以及Database First和Code First的操作流程。
摘要由CSDN通过智能技术生成

1. 项目创建

1.1 安装

在我们搭建.netcore程序的时候,首先就是系统环境的搭建是否完成。

下载对应的.NETCORE SDK 进行安装即可。微软的安装在windows方面很简单,基本就是一键安装,此处就不必就说了。

1.2 开发工具

VisualStudio 2017

1.3建立项目工程

点击文件创建项目,出现如下图示

1926612

4b9bcf762226323c8e9db4a4c2f8698b.png

选择画红圈部分,接着出现如下图示

1926612

9f2ef1ceaebe7b349b832f6f8a21eef7.png

选择API,身份验证为不进行身份验证。点击确定后,自动生成相应的模板项目。

文件格式如下:

1926612

f65c63a8664553260b1d2427265c1a7b.png

Connected Services:连接的服务。

Properties:进行一些属性设置。

wwwroot:静态文件存放位置。

依赖项:也就是需要添加的程序集。

Controller:控制器文件夹,用来进行业务编写的代码,我们基本上需要在这个文件中进行数据的传出与接收。相应的,我们还可以进行各个文件创建,进行层次区分,也可以建立单独的类项目,进行层次区分,如控制层,服务业务层,数据连接层,模型实体层。

appsettings:配置文件,此处可以编写一些常量设置,然后在程序中进行读取。

Program:项目启动文件。

Startup:项目配置设置文件。

2. 数据库连接

2.1. MySQL数据库连接

首先,我们利用nuget进行连接MySQL程序集的下载安装,如果是无网环境,可以参考我的另一篇文章(关于离线使用nuget进行程序集安装),如下图:

1926612

e8f46dd3d8f7acd60f6850677e49a392.png

1926612

接着我们创建一个数据表结构,例如下图所示(此处为简单例子):

c73e3b2ea45ce43df28abbd31946edf6.png

e145512f0fc73a9bf15001b99d746a5c.png

C#中创建对应的实体类,另外创建一个类继承dbContext,dbContext是EF框架中非常重要的一个环节,是建立实体类与数据库连接的桥梁,具体的原理,这里不进行赘述。

具体创建的样式如下图所示:

1926612           

fea5caa739a15255ab02a876441eabe5.png

a3946b62d0d360a9533f4daf7a32dff6.png

1926612

这样我们就可以进行数据库的操作了,测试一下:

1926612

b28dcc66fe48f54e95b93ffffa945454.png

bf396119de5751a4b2d01eaf4f849ace.png

表明我们的数据库已经连接成功,可以成功输出对应数据进行相关的显示了。

针对上述的连接属性的情况来看,我们不应该把连接的属性编写在代码中,因此我们要设计一下,把连接的属性编写在配置文件中,对appsettings.json, Startup.cs, CoreDbContext.cs进行相关的配置,如图:

1926612            

f5feed7bff1826b69c870fc0f02dfbaa.png

1926612           

82bd6d681747c3563cd071b12ce1e6c3.png

1926612           

fe43fb4c4dcb3268ff501b2e514f3d5a.png

图中标记为红色的部分就是我们需要进行修改或添加的部分,这时其实是已经把coreDbContext注入到容器中进行操作,而容器中对Context的注入方式为瞬时注入,因此后面要用到依赖注入的时候,很多时候,在数据层使用context的时候需要把对应的注入都设计为瞬时注入的形式,此处就不进行过多的提及。

我们在进行测试一下,这下我们就不用自己进行context的new操作,由于我们一开始进行设置的时候就已经进行了依赖注入的形式,不过,.netCore中只有构造注入,没有属性注入,因此我们就用构造注入的方式进行,如下图所示:

a5d5509deefb9dff21232c5734fb09f3.png

1926612

1926612

d8b2be56c5c980a17b8a21a433e381b5.png

此时证明我们用这样的方法也可以进行数据的操作。

2.2 SQL server数据库连接操作

具体的连接方式与上面的基本一致,不过,连接sqlServer的属性设置为:

1926612

589d7a2486f4014ac8baab6ffe2c800a.png

2.3 数据库Database First与Code First操作

Code First:通过EF 迁移来完成从模型生成数据库。因此数据库可以不进行相关表的设计,在C#中直接进行上面所做的出数据库建表外的操作。

下载安装Microsoft.EntityFrameworkCore.Tools

打开VS 2017 菜单 工具->nugget包管理器 -> 程序包管理控制台。

输入Add-Migration MyFirstMigration,接着输入Update-Database执行,出现Done.表示成功创建数据库。

Database First:通过现有的数据库生成模型(此处以SQLServer为主,目前MySQL没有找到对应的程序集进行此操作)。

安装Microsoft.EntityFrameworkCore.SqlServer

安装Microsoft.EntityFrameworkCore.Tools

安装Microsoft.EntityFrameworkCore.SqlServer.Design

执行如下命令:

Scaffold-DbContext “Server=;Database=DatabaseName;UID =;PWD=” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

这样就输出到了Models文件夹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值