使用 ILogger 和抽象类进行依赖注入 .NET Core

问题描述

我正在为我的 .NET Core 项目使用存储库模式。我有一个基础存储库:

public abstract class RepositoryBase<T> : IRepositoryBase<T> where T : class
{
    protected DbContext MyContext { get; set; }

    public RepositoryBase(DbContext context)
    {
        MyContext = context;
    }

}

然后我有从基类派生的实体特定存储库。例如:

   public class ClientRepository : RepositoryBase<Client>,IClientRepository
{
    public ClientRepository(DbContext context)
       : base(context)
    {
    }

然后我有一个存储库包装器,它实例化所有这些实体特定的存储库。

我想让我的所有存储库访问我的记录器,这是我通过依赖注入配置的。但是,我的记录器似乎需要一种类型,例如

ILogger<ClientRepository>

我以通用形式将记录器添加到基类中,在实体类中我做了ILogger的特定形式。但是,在存储库包装器构造函数中,我现在需要声明并注入所有这些不同类型的 ILogger。无论在何处构造存储库包装器,我都需要将所有这些添加为 args。

任何人都可以澄清注入 ILogger 并让它通过抽象类和派生类移动到“下游”的正确方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)