.NetCore3.x WebApi项目开发笔记

发布于 2020-08-11  880 次阅读



距离上次发文已经过去两个多月了,也是因为最近一段时间比较忙,另外也是没有什么心情去记录什么。最近在使用.NET Core的时候遇到一些常见的问题以及操作流程,做一下记录。

1. 添加自定义异常处理器和Json格式化

在Startup.cs文件中的ConfigureServices方法内添加如下代码:

 services.AddMvc(action =>
                {
                    action.Filters.Add(typeof(MyExceptionFilter));//自定义异常处理
                })
                .AddNewtonsoftJson(options =>
                {
                    options.SerializerSettings.ContractResolver = new DefaultContractResolver(); //去除首字母小写
                    options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss"; //格式化时间
                });

其中AddNewtonsoftJson方法需要安装NuGet包Microsoft.AspNetCore.Mvc.Newtonsoft

2. 使用EntityFramework的DbFirst生成实体映射

  1. 使用包命令管理器安装以下四个包:
Install-Package Microsoft.EntityFrameworkCore 

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
  1. 使用命令生成映射实体
   Scaffold-DbContext  "data source=your server;initial catalog=your database;persist security info=True;user id=your name ;password=your password;MultipleActiveResultSets=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entities -force

其中 -force 覆盖现有实体

  1. 删除生成的DBContext类中的OnConfiguring方法
    20200811143917

  2. 在appsettings.json文件中,添加连接字符串
    20200811143900

  3. 在StartUp类中添加

var connection = Configuration.GetConnectionString("NimDbConnStr");
services.AddDbContext<Entities.NimDbContext>(options =>
  {
     options.UseSqlServer(connection);
   });

3. 启用静态页面

  1. 项目根目录添加wwwroot文件夹(如已存在则跳过)
  2. StartUp类中的Configure方法中添加
app.UseStaticFiles();

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。