我正在尝试使用存储库模式迁移到依赖项注入。我试图通过注入DbCcontext
并在界面中实现该方法来建立存储库模式。我的目标是获取所有工单。我的WorkOrder
中有一个名为DbContext
的模型。
任何人都可以告诉我如何使用代码从我的界面中实现该方法以获取所有工作订单吗?
public class WorkOrderContext : DbContext
{
public DbSet<WorkOrder> WorkOrder { get; set; }
}
public class WorkOrder
{
public int UserId { get; set; }
public string LocationId { get; set; }
public string Reason { get; set; }
public bool IsActive { get; set; } = true;
public DateTime Date { get; set; } = DateTime.Now;
public string StateId { get; set; }
}
WorkOrderRepository
public class WorkOrderRepository : IWorkOrderRepository
{
//Bringing in Db Context that will be used in Repos;
private WorkOrderContext _workOrderContext;
//Constructor that will inject the Context;
public WorkOrderRepository(WorkOrderContext workOrderContext)
{
_workOrderContext = workOrderContext;
}
//Implementing method from Interface;
public List<WorkOrder> GetWorkOrders()
{
return _workOrderContext.WorkOrder;
}
}
这是我的界面:
public interface IWorkOrderRepository
{
List<WorkOrder> GetWorkOrders();
}
我在
上遇到了错误return _workOrderContext.WorkOrder;
它说
无法将类型Entity Framework转换为通用的系统集合
答案 0 :(得分:2)
您遇到问题的行
return _workOrderContext.WorkOrder;
正在尝试返回您的存储库,而不是该存储库中的结果集合。
相反,将实现的回购清单返回:
return _workOrderContext.WorkOrder.ToList();