.net core EF不用依赖注入的方式创建上下文对象

EF Core在上下文中的初始化配置

        public ABCDataContext(DbContextOptions<GoldenDataContext> options) : base(options)
        {
        }

这样做的目的是让它方便自动依赖注入  Startup文件中配置如下:
 

        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            var dbconfig = Configuration.BindConfig<DMDbConfiguration>();

            services
                .AddDbContext<ABCDataContext>(options =>
                {
                    options.UseSqlServer(dbconfig.ABCDataConnectionString);
                    options.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
                })
           

            // mvc 全局设置
            AddMvc(services);

            // 实例化autofac 注册容器
            AddContainerBuilder(services);

            return new AutofacServiceProvider(ApplicationContainer);
        }

这时 在程序中使用自动依赖注入数据库上下文对象:

public class WorkorderBillService
{     

        private readonly ABCRawDataContext abcDataContext;

        public WorkorderBillService(ABCDataContext abcDataContext)
        {
            this.abcDataContext = abcDataContext;
        }
}

但是如果要在程序中自己创建数据库上下文对象:

 var optionsBuilder = new DbContextOptionsBuilder<ABCDataContext>();
 optionsBuilder.UseSqlServer(configuration.ABCDataConfiguration);

  using (ABCDataContext abcDataContext = new 
                      ABCDataContext(optionsBuilder.Options))
            {
               //.........        
            }

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值