我在Azure上维护一个应用程序,同一个解决方案的两个项目共享同一个数据库和相同的库,但每个项目都有一个完全相同版本的Linq查询的副本。
工作一段时间后,其中一个停止了,现在一直没有返回任何行(0)。这是它:
public static int GetUnreadMessageCount(User user, IUnitOfWork _uow)
{
var query = _uow.ConversationMessageRepository.Query(
m => m.Conversation.ConversationUsers.Any(u => u.TenantUserID == user.ID));
return query.count();
}
然而,很明显问题不是来自这里,因为两个Linq查询中的一个仍然正常运行!
什么可以导致Linq查询在项目中返回0而在另一个中返回正确的数字(但是在同一个解决方案中)?
添加信息 - 2月3日
关于代码的精确度:
更新 - 2月4日
我做了一个奇怪的发现:查询实际上是在白天的某些时间工作。但是,在批处理运行的时刻,查询返回零行。
更新 - 2月6日
我暂时搁置此问题,因为问题的根源似乎是在Azure服务器上。
更新 - 2月14日
我在这个应用程序上创建了很多跟踪。我现在相信服务器按预期运行,但代码一直在工作。所有变量可能无法正确实例化(感谢@ Pete M) 很快就会有一个快乐的顾客?