.NET Core进阶

一、.Net core 配置及概述

.net core将应用程序配置分离,基于配置提供键值对,以键值对的形式从各种配置源读取配置数据

launchSettings.json是启动配置文件,如果需要更改服务器启动时地址或端口号可以在该文件修改

appsettings.json是程序运行时应用的配置文件,默认包含日志(Logging)

appsettings.Development.json是程序调试时应用的配置文件,默认包含日志(Logging)

配置文件规则(配置键): 1、键不区分大小写;2、键上的最后一个值就是所使用的值;3、键和值使用冒号分隔且使用于所有平台;4、所有平台均支持采用双下划线(=)且可以自动将其转换为冒号;5、分层键使用两个破折号(——)作为分隔符,将机密加载到应用的配置中时必须提供代码以用冒号替换破折号;6、ConfigurationBinder类支持使用配置键中的数组索引将数组绑定到对象

配置值: 1、值是字符串;2、null值不能存储在配置中或绑定到对象中

通过IConfiguration.GetSection()方法读取配置键,最后使用Get<T>方法绑定配置得到的SitConfig对象中

在浏览器中显示的结果有中文乱码,是因为appsettings.json的文档编码是GB2312需要通过记事本或Notepad++等工具将文档编码转换为UTF-8 BOM

appsettings.json和appsettings。Development.json需要有相同配置,否则调试时会出现错误

二、.NET CORE 日志

日志是记录系统操作、用户操作、系统运行状态等技术,是大型企业软件系统的重要组成部分

日志等级:1、跟踪级别;2、调试级别;3、信息级别;4、警告级

别;5、错误级别;6、严重级别

日志使用:1、添加提供程序,在Program.cs中通过调用提供程序,Add{ProviderName}扩展方法添加日志提供程序,使用ConfigureLogging()方法注册日志提供程序,先使用ClearProviders()方法清除默认日志提供程序

创建日志:因为ILogger对象是.net core的内置服务(service)所以不需要在Startup类的ConfigureService()方法里面注册了只需要从控制器构造方法中获取传入ILogger对象扩展方法写入不同日志级别信息常用ILogger<TCategoryName>中对象扩展

LogCritical()关键日志信息
LogDebug()调试日志信息
LogError()错误日志信息
LogInformation()信息日志信息
LogTrace()跟踪日志信息
LogWarning()警告日志信息

三、EF Core应用

EF Core是轻量化、可扩展、跨平台的常用Entity Framework 数据访问技术,可用做对象关系映射程序O/RM

使用EF Core生成数据库:

1、添加core支持程序包:Microsoft.EntityFrameworkeCore.SqlServer(数据库EF提供程序),Microsoft.EntityFrameworkCore.Design设计时调用EF共享库,Microsoft.EntityFrameworkCore.Tools  Nuget包管理器命令工具;

2、创建模型类文件:创建类,如果类里面有Id字段,EF Core会自动识别为主键,如果类中包含ICollection类型的字段会识别为导航属性并称为表的外键字段

在声明模型类字段时,可以使用MVC中注解特性来声明主键和约束

3、创建上下文类文件

创建ShopContext数据上下文类来管理数据,在其中需要重写ShopContext类的OnConfiguring()方法设置数据库连接字符串

需要导入Microsoft.Microsoft.EntityyFrameworkCore命名空间

4、使用NuGet包管理生成数据库和表

打开->工具->NuGet包管理器->程序包管理控制台输入命令:Add-Migration:创建准备迁移的框架代码;Update-Migration:将任何挂起的迁移应用到数据库

5、添加数据

四、EF Core的使用

1、导入Microsoft.EntityFrameworkeCore.SqlServer,Microsoft.EntityFrameworkCore.Design,Microsoft.EntityFrameworkCore.Tools 三个程序包,在NuGet控制台输入:

Scaffold-DbContext 'Data Source=.;Initial Catalog=数据库名称;Integrated Security=True;'  Microsoft.EntityFrameworkeCore.SqlServer -OutPutDir 文件名 -Context 自己取一个名称

2、

3、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值