注册通用存储库引发错误“提供的通用参数数量不等于Arity”

时间:2019-05-14 23:34:08

标签: c# asp.net-core dependency-injection

我收到此错误:

  

ArgumentException:提供的通用参数数量不   等于泛型类型定义的含义。参数名称:   实例化

public class EfCoreRepository<TContext, TEntity> : IEfCoreRepository<TEntity>
            where TContext : IEfCoreDbContext
            where TEntity : class
            {
        ....
        }
  

这是界面

public interface IEfCoreRepository<TEntity> where TEntity : class

我在那里注册的地方

services.AddTransient(typeof(IEfCoreRepository<>), typeof(EfCoreRepository<,>));

1 个答案:

答案 0 :(得分:0)

我将界面更新为

public interface IEfCoreRepository<TContext, TEntity> 
         where TContext : IEfCoreDbContext
         where TEntity : class

然后像这样注册它

services.AddTransient(typeof(IEfCoreRepository<,>), typeof(EfCoreRepository<,>));