Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用最小实体框架迁移到使用存储库模式的依赖项注入_C#_Dependency Injection_Asp.net Core Mvc_Repository Pattern - Fatal编程技术网

C# 如何使用最小实体框架迁移到使用存储库模式的依赖项注入

C# 如何使用最小实体框架迁移到使用存储库模式的依赖项注入,c#,dependency-injection,asp.net-core-mvc,repository-pattern,C#,Dependency Injection,Asp.net Core Mvc,Repository Pattern,我正在尝试使用存储库模式迁移到依赖项注入。我试图通过插入DbCcontext并在我的界面中实现该方法来设置我的存储库模式。我的目标是得到所有的工作指令。在我的DbContext中有一个名为WorkOrder的模型 有人能告诉我如何从我的代码接口实现这个方法来获取所有的工作指令吗 public class WorkOrderContext : DbContext { public DbSet<WorkOrder> WorkOrder { get; set; } } publi

我正在尝试使用存储库模式迁移到依赖项注入。我试图通过插入
DbCcontext
并在我的界面中实现该方法来设置我的存储库模式。我的目标是得到所有的工作指令。在我的
DbContext
中有一个名为
WorkOrder
的模型

有人能告诉我如何从我的代码接口实现这个方法来获取所有的工作指令吗

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; } 
}
上面说

无法将类型实体框架转换为系统集合泛型

你的问题线路

return _workOrderContext.WorkOrder;
正在尝试返回您的存储库,而不是该repo中的结果集合

相反,返回作为列表具体化的回购:

return _workOrderContext.WorkOrder.ToList();
你的问题线路

return _workOrderContext.WorkOrder;
正在尝试返回您的存储库,而不是该repo中的结果集合

相反,返回作为列表具体化的回购:

return _workOrderContext.WorkOrder.ToList();

只需调用linq扩展名
return\u workOrderContext.WorkOrder.ToList()
即可。您将遇到一些人告诉您EF DbContext/DbSet已经是存储库模式的实现。@谢谢。如果你不介意的话,你能解释一下它在干什么吗。谢谢。@Nkosi谢谢您提供的更多信息。是什么意思:“这么说吧。你会遇到一些人告诉你EF DbContext/DbSet已经是存储库模式的一个实现了?此方法还可以获得WorkOrder模型中的所有记录。再次感谢
.ToList()
扩展方法基本上枚举数据库集并从枚举的项创建列表。只需调用linq扩展
return\u WorkOrder context.WorkOrder.ToList()
。您将遇到一些人告诉您EF DbContext/DbSet已经是存储库模式的实现。@谢谢。如果你不介意的话,你能解释一下它在干什么吗。谢谢。@Nkosi谢谢您提供的更多信息。是什么意思:“这么说吧。你会遇到一些人告诉你EF DbContext/DbSet已经是存储库模式的一个实现了?此方法还可以获得WorkOrder模型中的所有记录。再次感谢
.ToList()
扩展方法基本上枚举数据库集,并从枚举的项创建一个列表。
return _workOrderContext.WorkOrder.ToList();