.net 为什么我的查询没有发送任何结果,但我的数据库中有数据?

wvt8vs2t  于 2022-12-05  发布在  .NET
关注(0)|答案(1)|浏览(153)

我正在学习使用.NET6和EF构建API。但是在执行GetAll存储库方法时,我得到了一个奇怪的结果。
这就是我所拥有的:

var pizzas = this.dbContext.Pizzas
                 .Include(pizza => pizza.Sauce)
                 .Include(pizza => pizza.Extras)
                 .AsNoTracking()
                 .AsEnumerable();

return pizzas;

问题是,当我在调试模式下执行我的方法时,我的pizzas var中显示“Enumeration yielded no results”。但我的数据库中确实有数据。我检查了又检查,但我的Pizza表中确实有一个pizza。所以,我有点困惑为什么它会向我发送一个空枚举,而我应该有一个结果?除此之外,我的通话没有条件,你知道我需要改变什么吗?
谢谢你,

jslywgbw

jslywgbw1#

最常见的问题就是Igor提到的问题。

var connectionString = dbContext.Database.GetConnection().ConnectionString;

然后将其与您正在检查的位置进行比较。通常,如果有人签入对连接字符串的更改(创建新的本地数据库或指向与您预期不同的DB),或者您已将DbContext移动到单独的程序集并更新了该程序集中的配置文件,但主应用程序的配置仍然指向旧的/无效的位置,从而导致它转到旧的DB或新创建的DB,则会发生问题。

相关问题