C# Entity Framework First()不返回任何记录

C# Entity Framework First()不返回任何记录,c#,.net,linq,entity-framework,C#,.net,Linq,Entity Framework,我对实体框架有问题。以下代码不返回任何内容: Warehouse warehouse = dbcontext.Warehouses.First(); 但如果我添加一个断点并将鼠标移到仓库上,我可以浏览表的记录,但First()不会返回任何内容。如果我尝试warehouse.Name,则在即时窗口中会出现错误“名称warehouse在当前上下文中不存在” 该表有大约10000条记录,这会导致任何问题吗 编辑:我试过: int count = dbcontext.Warehouses.Count(

我对实体框架有问题。以下代码不返回任何内容:

Warehouse warehouse = dbcontext.Warehouses.First();
但如果我添加一个断点并将鼠标移到仓库上,我可以浏览表的记录,但First()不会返回任何内容。如果我尝试warehouse.Name,则在即时窗口中会出现错误“名称warehouse在当前上下文中不存在”

该表有大约10000条记录,这会导致任何问题吗

编辑:我试过:

int count = dbcontext.Warehouses.Count();

结果是0。这是在我能够将鼠标移到dbcontext.Warehouses上并查看表中的记录之后。我删除了断点,然后在网页上显示结果,它还显示了0。因此,这不是我在调试时看到的。

如果您在声明仓库的行下方检查变量,并且收到错误消息称仓库在当前上下文中不存在,则可能是调试信息不正常。尝试清理/重建项目并运行调试配置。如果您仍然收到相同的错误,那么当您尝试检查该变量的值时,您确实超出了该变量的范围。
编辑:检查连接字符串后,可能会发生指向错误数据库的情况。另外,检查实体类的源代码,仓库可能没有指向您认为它指向的表。另外,您是否尝试过dbcontext.Warehouses.Select(w=>w.First()

您是否处于代码中
仓库
有效的位置(例如在定义仓库的方法中)?我在上面代码下面的一行有一个断点。你能多发布一点你的代码并指出你试图检查仓库变量的点吗?@Jason-
首先
如果不能返回一个值,它将抛出一个异常,因此
仓库
必须有一个值,如果有一个值要返回。您遇到的“当前上下文中不存在”错误通常与调试时出错有关。@Jason-同样,如果集合为空,
First
将抛出异常(这就是
FirstOrEmpty
的目的)。不是这样吗?如果集合中根本不包含您期望的记录,那么您可能需要验证连接字符串是否指向您期望的数据库,如果这不起作用,请使用sql探查器来证明封面下实际发生的情况。