1.Microsoft.AspNetCore.Builder.IApplicationBuilder
解析:Defines a class that provides the mechanisms to configure an application’s request pipeline.
2.Microsoft.AspNetCore.Hosting.IWebHostEnvironment
解析:Provides information about the web hosting environment an application is running in.
3.Microsoft.Extensions.Logging.ILoggerFactory
解析:Represents a type used to configure the logging system and create instances of Microsoft.Extensions.Logging.ILogger from the registered Microsoft.Extensions.Logging.ILoggerProviders.
4.Microsoft.EntityFrameworkCore.DbContext
解析:A DbContext instance represents a session with the database and can be used to query and save instances of your entities. DbContext is a combination of the Unit Of Work and Repository patterns.
5.JWS、JWE、JWA和JWK
解析:
6.AspNetCore中的Jwt Bearer验证
解析:
[1]Install-Package Microsoft.AspNetCore.Authentication.JwtBearer
[2]微软使用Microsoft.IdentityModel.JsonWebTokens来实现了底层JWS和JWE不同创建JWT的方案,而System.IdentityModel.Tokens.Jwt依赖于Microsoft.IdentityModel.JsonWebTokens,采用更简化的方式来实现JWT。
[3]JWT依赖注入
.AddJwtBearer(jwtOptions =>
{
jwtOptions.TokenValidationParameters = new TokenValidationParameters()
{
ValidateAudience = false, //是否验证Audience
ValidateIssuer = true, //是否验证Issuer
IssuerSigningKey = new SymmetricSecurityKey(seurityKey), //签名的KEY
ValidIssuer = configuration["JwtConfig:Issuer"], //验证的Issuer信息
ValidAudience = configuration["JwtConfig:Audience"], //验证的Audience信息
};
});
说明:添加jwt验证:app.UseAuthentication()。
7.K8S和.NET开源社区
解析:
8.ABP vNext与数据库
解析:
[1]Volo.Abp.EntityFrameworkCore.PostgreSQL
[2]Volo.Abp.EntityFrameworkCore.MySQL
[3]Volo.Abp.EntityFrameworkCore.SQLServer
9.NETcore3.1集成Autofac方式变动
解析:在创建主机时添加AutofacServiceProviderFactory,如下所示:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
在startup.cs添加ConfigureContainer方法,然后可以使用ContainerBuilder用来访问autofac容器并注入。如下所示:
public void ConfigureContainer(ContainerBuilder builder)
{
}
10.EF Core和EF6区别
解析:
[1]EF Core:Entity Framework Core [EF Core]是适用于.NET的新式对象数据库映射器。它支持LINQ查询、更改跟踪、更新和架构迁移。EF Core通过数据库提供程序插件模型与SQL Server/SQL Azure、SQLite、Azure Cosmos DB、MySQL、PostgreSQL和更多数据库配合使用。
[2]EF6:Entity Framework 6 [EF6]是专为.NET Framework设计的对象关系映射器,但支持.NET Core。EF6是一款受支持的稳定产品,但不再对其进行积极开发。
11.使用迁移创建数据库
解析:这会安装dotnet ef和设计包,这是对项目运行命令所必需的。migrations命令为迁移搭建基架,以便为模型创建一组初始表。database update命令创建数据库并向其应用新的迁移。
dotnet tool install --global dotnet-ef --version 2.2.6
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet ef migrations add InitialCreate
dotnet ef database update
12.SaveChanges()方法
解析:将数据插入到数据库中。
13.Column(“ID”)]
解析:使用Column特性指示生成的数据库表中的列名。
14.StringLength
解析:设置数据库表中列的长度。
15.DataType特性
解析:指示生成的数据库表中列的数据类型
16.NotMapped特性
解析:不把该属性映射到数据库表中,即在生成的表中没有这一列。
17.数据验证相关的数据注解
解析:
18.数据映射相关的数据注解
解析:
19.数据显示相关的数据注解
解析:
20.其它注解
解析:
[1]DisplayColumn:将所引用的表中显示的列指定为外键列
[2]Description:可视化设计器在引用组件成员时可以显示指定的说明。[命名空间:System.ComponentModel.DescriptionAttribute]
21..NET数据类型和SQL数据类型之间的映射
解析:
22.ADO.NET管道代码
解析:所谓管道代码即创建数据库连接、打开数据库、执行查询、返回数据、关闭数据库。
23.EF的系统架构与基本原理
解析:
24.三类实体与数据库的映射方法
解析:
[1]DB First–通过从数据库导入来构建实体
[2]Model First–使用模型设计工具设计模型,然后生成相关实体
[3]Code First–通过编制代码来映射实体和数据库
25.DbContext类
解析:主要是负责与数据库进行通信,管理实体到数据库的映射模型,跟踪实体的更改。
DbContext中最常用的几个方法:
还有几个重要的属性方法: