Asp.net mvc BaseRepository中的DbSet.Find(id)挂起并且从未返回

Asp.net mvc BaseRepository中的DbSet.Find(id)挂起并且从未返回,asp.net-mvc,linq,entity-framework,Asp.net Mvc,Linq,Entity Framework,我有一个BaseRepository,其中有以下功能: public T GetById(int id) { return DbSet.Find(id); } 问题是返回的DbSet.Findid挂起并且从未返回。我认为这是因为僵局。框架试图从数据库中获取对象,但没有任何结果,只有方法挂起。查询永远不会到达数据库。我们如何跟踪我们遇到问题的对象。我知道我们可以简单地使用where函数而不是find方法。奇怪,但是如果GetById是存储库的第一次使用,那

我有一个BaseRepository,其中有以下功能:

    public T GetById(int id)
    {
        return DbSet.Find(id);
    }

问题是返回的DbSet.Findid挂起并且从未返回。我认为这是因为僵局。框架试图从数据库中获取对象,但没有任何结果,只有方法挂起。查询永远不会到达数据库。我们如何跟踪我们遇到问题的对象。我知道我们可以简单地使用where函数而不是find方法。

奇怪,但是如果GetById是存储库的第一次使用,那么他的调用将触发上下文和所有相关代码的构建。在这种情况下,错误可能离Find很远。我不认为您的假设是正确的,在这种情况下,您会得到某种异常。为什么不在DbSet.Find方法周围放置一个try-catch块呢。