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

关键字:Code First、Database First

1. 项目创建

1.1 安装

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

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

1.2 开发工具

            VisualStudio 2017

1.3建立项目工程

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

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

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

            文件格式如下:

             

            Connected Services:连接的服务。

            Properties:进行一些属性设置。

            wwwroot:静态文件存放位置。

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

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

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

             Program:项目启动文件。

             Startup:项目配置设置文件。

2. 数据库连接

2.1. MySQL数据库连接

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

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

          

         

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

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

           

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

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

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

            

           

           

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

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

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

2.2 SQL server数据库连接操作

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

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文件夹

猜你喜欢

转载自blog.csdn.net/zouzh/article/details/109485181
今日推荐