
.NET Core
文章平均质量分 92
.Net Core相关技术
禾黍黎
温两碗酒,要一碟茴香豆
展开
-
.Net Core 核心知识点(七)--认识EF Core(1)
在模型驱动的ORM开发中,数据库不是程序员手动创建的,而是由Migration工具生成的。关系数据库只是装载模型数据的一个媒介而已, 根据实体类对象的定义变化,自动更新数据库中的表以及表结构的操作,叫做Migration(迁移),迁移可以分为多步(项目进化),也可以回滚。Object Relational Mapping:对象关系映射,让开发者可以用对象的形式操作关系型数据库,在代码中类对象的形式组织数据,通过ORM的内置方法,ORM引擎通过把对象和代码逻辑转化为相应的SQL语句,对数据库进行增删改查;原创 2024-08-05 16:45:15 · 1503 阅读 · 0 评论 -
.Net Core 核心知识点(七)--熟悉EFCore(2)
但是在实际的业务中,我们往往会遇到这种情况,表A的一些字段要频繁的和其他业务表产生数据关联,比如一个用户表User,其他很多业务表中都有类似于操作员的字段,这个操作员是和用户表有关联的,这种情况下,如果在User表实体类中针对每个与它有关系的业务表都新增一个属性与之对应,那显然不太实际。如下图,如果没有在Config类中执行表名,EF Core就会默认用这些DbSet属性的名字;在我们实际的项目开发的业务中,会遇到这种实体类,它的上级只有一个,它的下级有多个的场景,比如省市区区域字典这种。原创 2024-08-11 22:20:24 · 804 阅读 · 0 评论 -
.NET Core 核心知识点(六) -- 日志系统
我们在实际项目开发的过程中,日志记录是一个非常重要的功能点,记录日志,可以帮我们很好的分析问题,定位问题,解决问题,一个完整的项目必须要有日志记录的模块。原创 2024-08-01 22:04:53 · 980 阅读 · 0 评论 -
.NET Core 核心知识点(五) -- 配置系统(2)自定义配置
1.第一步:我们在目录下新建一个web.config文件,定义一些配置:2.第二步,新建一个FxConfigurationProvider类继承自FIleConfigurationProvider,然后重写Load方法,定义一个Dictionary用来获取文件中的配置信息,转化为键值对的形式存储,利用XmlDocument类来读取web.config中的内容。并且把数据传到父类的Data数据中;//建立一个键不分大小写的字典//Xml读取//读取连接串//原创 2024-07-31 10:43:31 · 1492 阅读 · 0 评论 -
.NET Core 核心知识点(五) -- 配置系统(1)入门
项目目录下创建appsettings.json文件,记得属性设置为“较新则复制”。NuGet安装Microsoft.Extension.Configuration和Microsoft.Extension.Configuration.Json两个包。原创 2024-07-28 19:23:14 · 1790 阅读 · 0 评论 -
.NET Core 核心知识点(四) -- 依赖注入(2)牛刀小试
依赖注入具有“传染性”,如果一个类的对象是通过DI创建的,那这个类的构造函数中声明的所有服务类型的参数都会被DI赋值;所以,当从容器中获取了TestController的实例之后,框架会自动的给他需要的所有服务,包括服务里面需要的服务全部自动注入对象实例,这就是依赖注入的"比如现在有两个类型的配置,本地配置,远程服务上的配置,我们要实现自定义以何种配置优先原则,那么我们就可以通过服务注册优先顺序来实现。然后再框架入口的时候,调整配置服务的注册顺序,就可以实现配置覆盖的功能。同时定义一个扩展方法来实现注册。原创 2024-07-26 23:31:45 · 1372 阅读 · 0 评论 -
.NET Core 核心知识点(四) -- 初会依赖注入
使用对象或者服务的时候,不需要自己去创建/new服务,而是在使用的时候直接声明,容器会自动分配一个服务实例。相当于自己用发电机发电使用和利用电网公司的电的区别,自己发电,我需要一台发电机,安装发电机,自己设置电压,频率等等,而使用电网公司的只需要花钱,就能使用;可以看到,这个时候两个对象是一样的,并且第一个对象经过第二个对象赋值之后,再重新打印,属性值已经变为第二次赋值的kobe了,这就是单例模式,永远都是一个对象,每次赋值都会把之前的覆盖掉,这种适合于创建不需要状态的服务对象,比如一些辅助帮助类等。原创 2024-07-24 17:24:53 · 1459 阅读 · 1 评论 -
.NET Core 核心知识点(二)--异步与多线程的窥探2
多线程只是异步的一种实现方式,异步编程也可是单一线程,比如async方法中的await执行时,当前线程会被线程池收走,等方法await的方法执行完成时,线程池会调度一个新的线程过来执行下面的逻辑;此过程虽然切换了线程,但是同一时间运行的线程只有一个,并不是多线程。第二个:读取指定目录下的文件中的字符长,等待所有异步读完之后,打印出总的字符串的长度。第一个:等所有衣服异步洗完之后,执行提示“所有衣服都洗完了”;原创 2024-07-21 12:16:59 · 653 阅读 · 0 评论 -
.NET Core 核心知识点(一) --- 基础与异步1
通过程序集反射,获取当前程序集中的所有类型,并且通过GetCustomAttributes的方法获取特定特性的类集合。a.命令行安装方式,在官网www.nuget.org上搜索到之后,直接拷贝到网页上的安装命令 到程序包管理控制台里面运行。b.图形界面安装,项目右键->管理Nuget程序包->浏览里面搜索,然后选择版本进行安装。可以看出,执行两次await 的异步方法后,当前线程同时也换了2次。特性,类似于标签,继承于Attribute基类,在线下载依赖,使用时考虑更新频率,下载次数,是否收费等。原创 2024-07-20 17:02:49 · 1326 阅读 · 1 评论 -
.NET Core 核心知识点(三)--Linq的面纱
1.微软自带的Linq的Where条件语句或者,我们可以自定义一个MyWhere表达式,传递一个数组和一个Func的委托,如下://定义一个Func泛型的lambda表达式//自定义的过滤方法注意,这里我们在返回结果的时候,是先把所有满足条件的数据放到了一个List集合中,等循环完成之后,再返回;但其实我们这里可以使用迭代器yield return的方式,实时返回满足条件的数据,这样可以加快程序执行的效率;代码如下://定义一个Func泛型的lambda表达式。原创 2024-07-22 16:05:57 · 1052 阅读 · 0 评论