首页 > 解决方案 > 无法注入 IRepository由于“没有隐式引用转换”

问题描述

开始尝试熟悉 .NET Core 的 ASP.NET 样板模板。

一切都很顺利,直到我需要将IRepository一个泛型Entity注入到类构造函数中。

DepartmentManager课堂上,当我尝试创建一个私有只读字段以注入构造函数时,我收到 IntelliSense 错误:

没有从 Department 到 Abp.Domain.Entities.IEntity 的隐式引用转换 Type Department 不能用作泛型类型或方法“IRepository,主键”中的类型参数 TEntity

我试图研究是否可以通过一些解决方案在网上找到类似的问题,但无济于事。

下面是一个简单的代码来说明挑战。

// Class 
public class Department
{
    public long Id { get; set; }

    public string DepartmentName { get; set; }
}

// IDepartment Manager
public interface IDepartmentManager
{
    Task<Department> CreateDepartment(Department entity);
    Task Update(Department entity);
    Task Delete(long id);
    Task<IEnumerable<Department>> GetAll();
}

// Department Manager    
private readonly IRepository<Department, long> _departmentRepo;
public DepartmentManager(IRepository<Department, long> departmentRepo)
{
    _departmentRepo = departmentRepo
}

任何帮助都非常感谢我做的不对。

标签: c#asp.net-coretype-conversionaspnetboilerplateconventions

解决方案


制作Department实现Entity<long>IEntity<long>使用其存储库。

public class Department : Entity<long>
{
    public string DepartmentName { get; set; }
}

参考


推荐阅读