我注意到 NPoco(或 PetaPoco)的工作方式存在巨大差异,具体取决于您在使用 LINQ 时调用的函数。
例如比较 Fetch() which Query() 两者似乎都在做同样的事情:
答:Fetch<EntryImage>().Where(t => t.EntryType == type && t.EntryID == entryID);
乙:Query<EntryImage>().Where(t => t.EntryType == type && t.EntryID == entryID);
A返回表中的每一行(10,000+),然后过滤客户端。
B只返回我期望的一行。
我发现这种行为非常危险——很容易编写性能非常糟糕的代码而不会真正注意到晚上。这是预期的行为吗?如果这是正常行为,有没有办法获得以这种方式工作的方法列表,所以我可以尽可能避免使用它们?