距离上次发文已经过去两个多月了,也是因为最近一段时间比较忙,另外也是没有什么心情去记录什么。最近在使用.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生成实体映射
- 使用包命令管理器安装以下四个包:
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
- 使用命令生成映射实体
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 覆盖现有实体
-
删除生成的DBContext类中的OnConfiguring方法
-
在appsettings.json文件中,添加连接字符串
-
在StartUp类中添加
var connection = Configuration.GetConnectionString("NimDbConnStr");
services.AddDbContext<Entities.NimDbContext>(options =>
{
options.UseSqlServer(connection);
});
3. 启用静态页面
- 项目根目录添加wwwroot文件夹(如已存在则跳过)
- StartUp类中的Configure方法中添加
app.UseStaticFiles();