MVC 核心依赖注入:接口存储库通用参数错误

我已经阅读了许多关于 stackoverflow 的书籍和文章。仍然收到下面的错误。这是我的接口,具有通用参数的存储库的基本轮廓。我的 Startup.cs 中有 AddTransient。


在控制器中,我试图引用接口,而不引用存储库名称。我在没有通用参数的情况下工作。一旦我实现了通用参数,我就会收到下面的错误。我想引用接口而不引用存储库或模型,因为我们稍后可能会从 RelationalDB 转到 MongoDB,等等。我该如何摆脱这个错误?


界面:


public interface IProductRepository<T>: IDisposable where T:class

{

    IEnumerable<T> GetProductDetail();

存储库:


public class ProductRepository: IProductRepository<ProductdbData>

{

     IEnumerable<ProductdbData> GetProductDetail(); 

启动文件


services.AddTransient(typeof(IProductRepository<>), typeof(ProductRepository));

控制器网页错误:


namespace CompanyWeb.Controllers

{

    public class ProductController: Controller

    {

        private IProductRepository _productwebrepository; // this line gives error

错误消息:错误 CS0305 使用泛型类型“IProductRepository”需要 1 个类型参数


慕村9548890
浏览 187回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP