23.5、快捷操作

Hoa Framework 框架还提供一些常用的快捷操作方法。

如何在实例类/静态类中使用接口,比如仓储?

由于我们目前采用的是自动抽象工厂模式,也就是面向接口编程,对象都是通过 依赖注入/控制反转创建的,所以我们通常在 类的构造函数中注入对象

但是,有一些特殊情况,我们需要在静态类或实例类中也能够使用这些接口,而非通过构造函数注入的方式。

  • 获取数据库操作仓储实例对象

var repository = AppGlobal.GetRepository<TableEntity>();
var entities = repository.GetAll(u=>u.Id > 1).ToList();
  • 获取 Autofac注入的接口实例对象

var service = AppGlobal.AutofacContainer.Resolve<IHoaApplicationService>();
  • 获取 ASP.NET Core 注入的对象,比如内存缓存

var _cache = AppGlobal.ServiceProvider.GetService<IMemoryCache>();
  • 获取多上下文对象 IDynamicRepository<TEntity, DbContextIdentifier>

var dynamicRepository = AppGlobal.GetDynamicRepository<TableEntity, DbContextIdentifier>(nameof(DbContextIdentifier));
  • 获取选项配置

var options = AppGlobal.GetOptions<AppOptions>();

最后更新于