首页 > 其他分享 >.NET控制台获取依赖注入实例

.NET控制台获取依赖注入实例

时间:2024-06-05 10:34:19浏览次数:16  
标签:获取 serviceProvider var 实例 static services NET 控制台

internal class Program
{
    static void Main(string[] args)
    {
        // 创建服务集合
        var services = new ServiceCollection();
        // 注入
        services.AddScoped<IMyService, MyService>();
        // 配置服务
        ConfigureServices(services);
        // 创建服务提供者
        var serviceProvider = services.BuildServiceProvider();
        // 获取DbContext实例
        using (var db = serviceProvider.GetRequiredService<YouDbContext>())
        {
            var data = db.Database.SqlQuery<TableModel>($"select * from Table").ToList();
        }

        //or 获取服务实例
        var services = serviceProvider.GetService<IMyService>();
        services.Execute();

    }

    private static void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<CfwDbContext>(options =>
            options.UseSqlServer("你的数据库链接"));
    }

}

 

标签:获取,serviceProvider,var,实例,static,services,NET,控制台
From: https://www.cnblogs.com/linshuli/p/18232463

相关文章

  • Gitlab Runner在Windows如何自动发布基于.NET Framework 4.8的传统ASP.NET Web应用程
    摘要软件流水线能把程序员从繁琐的发布工作中解脱出来,但是跑在WindowsIIS里的传统Web应用程序,用Docker的方式不是最方便的。本文详细描述如何用Windows的OpenSSHServer来上传网站后,用PowerShell创建和修改IIS的虚拟目录应用程序。一、自动打包传统ASP.NETWeb应用程序1、Gitl......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • .NET C# 程序自动更新组件
    引言本来博主想偷懒使用AutoUpdater.NET组件,但由于博主项目有些特殊性和它的功能过于多,于是博主自己实现一个轻量级独立自动更新组件,可稍作修改集成到大家自己项目中,比如:WPF/Winform/Windows服务。大致思路:发现更新后,从网络上下载更新包并进行解压,同时在WinForms应用程序中显示......
  • ASP.NET Web应用程序升级最新的MSBuild格式后,Visual Studio 2022中如何调试?
    摘要把ASP.NET的Web应用程序,Project文件从<ProjectToolsVersion="12.0"DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">改为<ProjectSdk="Microsoft.NET.Sdk.Web">之后,升级成了最新的格式之后,如......
  • Kubernetes - 安装方法
    Minikube:对于想要在系统上安装Kubernetes但系统资源有限的用户来说,它是理想的选择。因此,minikube的关键点在于它没有单独的Kubernetes主节点和Kubernetes工作节点架构。在这里,我们将所有Kubernetes组件打包在一起作为一体化设置。单个系统同时充当主节点和工作节点。访......
  • 【Kubernetes】k8s的调度约束(亲和与反亲和)
    一、调度约束list-watch组件Kubernetes是通过List-Watch的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过kubectl根据配置文件,向APIServer发送命令,在Node节点上面建立Pod和Container。APIServer经过API调用,权限控制,调......
  • Kubernetes – 架构
    Kubernetes集群主要由称为节点的工作机器和控制平面组成。集群中至少有一个工作节点。KubectlCLI与控制平面通信,控制平面管理工作节点。Kubernetes–集群架构如下图所示,Kubernetes采用客户端-服务器架构,有主节点和工作节点,主节点安装在单个Linux系统上,而节点安装在多个......
  • enumerate()函数的用法与实例
    enumerate()函数是Python中常用的内置函数之一,用于同时遍历集合对象(如列表、元组、字符串等)的索引和元素。用法:enumerate()函数接受一个可迭代对象作为参数,并返回一个生成器对象,每次迭代生成器时,都会返回一个由索引和对应元素值组成的元组。语法:enumerate(iterable,start......
  • golang net/http 的 ListenAndServe 的工作方式(取代 listen、accept)
      在Go的net/http包中,当你使用ListenAndServe或ListenAndServeTLS函数启动一个HTTP服务器时,你不需要直接调用listen和accept操作,因为这些函数已经为你处理了这些底层的网络细节。 ListenAndServe函数的工作方式如下:1.它首先调用net.Listen来监听指定的网络地......
  • golang 的 net/http 和 net/rpc 的区别, rpc 效率比 http 高?
     在Go语言中,net/http和net/rpc是两个不同的包,它们分别用于实现不同的网络通信模式:net/http:net/http包主要用于构建Web服务和客户端,它实现了HTTP协议,这是互联网上最广泛使用的应用层协议之一,主要用于传输超文本(HTML)和其他资源。HTTP协议是基于请求-响应模型的,客......