Linq查询在除我以外的所有机器上都有效

本文关键字:机器 有效 查询 Linq | 更新日期: 2023-09-27 18:08:31

所以,我有一个简单的linq查询。其他程序员(都在Win7, VS2010上)可以毫无问题地运行select。我可以在我的机器上使用SQL Profiler来访问服务器db(我们都在开发服务器上访问相同的SQL server 2008 db),并从我的机器上看到SQL server Mgmt studio中的实际查询工作,但是IQueryable对象返回0结果。

我们都使用完全相同的代码库(所有内容都签入Hg并且我们都是同步的)。我已经重新启动了我的机器和数据库所在的服务器,以防有一些缓存正在进行。

如果我删除where子句,我实际上得到了结果。我们都很茫然。有人有什么好主意吗?

如果你想看,这里是代码,但我认为在这种情况下没有关系:

IQueryable<MOffice> offices = (from returnData in entityModel.MOffices
                                             where returnData.HiringProjectCoordinator == true
                                             select returnData).Take((int)topCount);
            return offices.ToList();

Linq查询在除我以外的所有机器上都有效

试试这个

var results = entityModel.MOffices
                  .Where(x=>x.HiringProjectCoordinator == true)
                  .OrderBy(x=>x.Something)
                //.Take(int.Parse(topCount))
                  .ToList();
int count = results.Count();
return results;

检查计数是否如您所愿。根据需要删除注释。

  • 查询在LinqPad上工作吗?
  • 确认每个人都引用相同的数据库?为确定吗?例如,将一个特定的记录firstName更改为'foo'来确定。
  • 对另一个表的类似查询是否相同?

使用LinqPad然后检查LINQ生成的SQL语句