linq查询适用于除我的每台机器

时间:2011-09-14 21:42:07

标签: c# linq entity-framework c#-4.0

所以,我有一个简单的linq查询。其他程序员(所有在Win7,VS2010上)可以毫无问题地运行选择。我可以在我的机器上使用SQL事件探查器命中服务器数据库(我们都在开发服务器上命中相同的SQL Server 2008数据库),并且从我的机器上看到实际查询在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();

2 个答案:

答案 0 :(得分:1)

试试这个

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'以确定。
  • 对另一个表的类似查询是否相同?

答案 1 :(得分:-1)

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