首页 > 其他分享 >.net Core基础仓储模型

.net Core基础仓储模型

时间:2023-08-18 17:02:08浏览次数:35  
标签:Core Service Repository 接口 仓储 泛型 net 构造函数

.netCore简单仓储模型

共分为三层:

    1. 仓储层:Repository(类),IRepository(接口)
    2. 业务层:Service(类),IService(接口)
    3. 表现层:Controller(控制器接口层)

如图所示:

 

Repository层

继承IRepository

IbaseRepository接口里面写常用的增删改查方法(接口添加泛型及约束)

为什么要用泛型?

(1)泛型约束了变量的类型,保证了类型的安全性.
(2)避免了不必要的装箱、拆箱操作,提高程序的性能.泛型变量固定了类型,使用的时候就已经知道是值类型还是引用类型,避免了不必要的装箱、拆箱操作.

 

Repository里面添加构造函数(引入上下文),每个分类下的Repository都继承对应的基础仓储以及接口

 

Service层

继承IService

构造函数(引入IRepository)

编写逻辑代码

 

控制器层

构造函数(引入IService)

编写接口代码

 

相对于DAL,BLL,UI三层架构而言,Repository相当于DAL,Service相当于BLL.

针对于接口的开发

 

其他类库(Domain,Dto,SQL) :

Domain领域可以存放实体类,Dto可以存放Dto接收的参数类型,SQL可以存放上下文类等等

 

注意事项:

一定要在Api的Program.cs配置文件里面添加各个层的注入

 

 

优点: 在基础层写一遍增删改查,Repository直接调用

使代码编写更加快速

标签:Core,Service,Repository,接口,仓储,泛型,net,构造函数
From: https://www.cnblogs.com/yaaz/p/17641018.html

相关文章

  • Kubernetes hostPort 使用
    1、概述在Kubernetes中,hostPort是一种用于将主机上的特定端口映射到运行在Pod内部容器的端口的配置选项。通过使用hostPort,你可以在主机上暴露容器的服务,从而允许外部网络通过主机的IP地址和指定的端口访问容器内的应用程序。如:apiVersion:apps/v1kind:Deploymentm......
  • .net【C#】调用 webservice
    【C#】调用webservice的三种方法总结 WebService,WCF,WebApi区别与特点......
  • .net7 创建windows后台服务
    开发语言:C#运行时:.net7开发环境:visualstudio2022微软官方文档:https://learn.microsoft.com/zh-cn/dotnet/core/extensions/windows-service?pivots=dotnet-7-0最近公司需要使用后台调度服务定时拉取业务数据并推送至第三方,原本是直接使用aps.netcore应用程序部署在IIS上......
  • C#.NET WINFORM 缓存 System.Runtime.Caching MemoryCache
    C#.NETWINFORM缓存 System.Runtime.CachingMemoryCache 工具类:usingSystem;usingSystem.Runtime.Caching;namespaceCommonUtils{///<summary>///基于MemoryCache的缓存辅助类///</summary>publicstaticclassMemoryCacheHelper{......
  • TedNet:一个用于张量分解网络的Pytorch工具包
    摘要张量分解网络(TensorDecompositionNetworks,TDNs)因其固有的紧凑架构而流行。为了给更多的研究人员提供一种灵活的方式来利用TDNs,我们提出了一个名为TedNet的Pytorch工具包。TedNet实现了5种张量分解(即,CANDECOMP/PARAFAC(CP)、Block-TermTucker(BTT)、Tucker-2、TensorTrain(TT)和......
  • python使用netmiko连接交换机绑定mac
    环境背景python3.8,华为交换机每次手动登录交换机再进行绑定操作,太过机械化啊,本着懒人原则,写一个脚本真不是事情脚本fromnetmikoimportConnectHandlerimporttimedefbing_mac(mac):sw_ip='10.10.10.10'#交换机ipusername='admin'#交换机账号......
  • 医疗信息云LIS系统源码 .Net Core版SaaS模式
    SaaS模式.NetCore版云LIS系统源码医疗信息LIS系统是专为医院检验科设计的一套实验室信息管理系统,能将实验仪器与计算机组成网络,使病人样品登录、实验数据存取、报告审核、打印分发,实验数据统计分析等繁杂的操作过程实现了智能化、自动化和规范化管理。有助于提高实验室的整体管理......
  • 使用kube-bench检测Kubernetes集群安全
    目录一.系统环境二.前言三.CIS(CenterforInternetSecurity)简介四.什么是Kube-Bench?五.使用kube-bench检测不安全的设置5.1手动设置不安全的参数5.2安装kube-bench5.3kube-bench检测etcd组件5.4kube-bench检测master节点5.5kube-bench检测worker节点六.总结七.附加信息......
  • (Repository)仓储的使用与作用(一)
    仓储(Respository)是存在于工作单元和数据库之间单独分离出来的一层,是对数据访问的封装。其优点:1)业务层不需要知道它的具体实现,达到了分离关注点。2)提高了对数据库访问的维护,对于仓储的改变并不会改变业务的逻辑,数据库可以用SqlServer,MySql等。 domain(领域......
  • WPF使用WPFMediaKit/AForge调用摄像头示例 .net core 8.0 也支持
    调用摄像头使我们经常会用到的一个功能,可以根据摄像头捕捉到的图像进行分析处理来做很多的东西,比如电子档案、图像识别、AI分析等等。本示例中主要介绍Nuget最常用的两个调用摄像头的轮子WPFMediaKit、AForge环境:VS2019,.NetFramework472WPF  (.netcore8.0 也支持)WPFMe......