我已经阅读了许多关于 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 个类型参数
相关分类