LINQ查询不返回任何内容

时间:2010-04-22 19:36:24

标签: linq-to-sql c#-3.0

为什么此查询返回0行?

有一条匹配参数的记录。

SomeDataContext db = new SomeDataContext(ConnString);

return db.Deafkaw.Where(p => 
      (p.SomeDate1 >= aDate && 
         p.SomeDate1 <= DateTime.Now) &&
      (p.Year == aYear && p.IsSomething == false)
  ).ToList();

我错过了什么吗?

在桌上聋人

SomeDate1 = 20/4/2010 11:32:17 年= 2010年 IsSomething = False

......除了对条件不感兴趣的其他专栏。

我在IsSomething = False和Year = 2010的日期之间需要SomeDate1。

4 个答案:

答案 0 :(得分:3)

您没有将结果分配给任何内容,因此它被丢弃。试试这个:

var results = db.Deafkaw.Where(p => 
         (p.ImerominiaKataxorisis >= aDate && 
          p.ImerominiaKataxorisis <= DateTime.Now) &&
         (p.Year == etos && p.IsYpodeigma == false)
     ).ToList();

更新:你改变了问题所以现在我不确定这是正确的答案。您可以在调用此方法的地方发布代码吗?

答案 1 :(得分:2)

如果没有任何其他信息,很难回答您的问题。检查以下几点可能有助于您找到问题:

  • 如果删除Where子句并写Deafkaw.ToList(),你会得到什么?
  • aDateetos的价值是多少?
  • 你能仔细检查病情吗?您是否要求所有子条件同时保留?如果您打印整个DeaFkaw数据结构,是否有任何此类数据?
  • 你能尝试删除一些子条件,看看是否能给你一些结果吗?

答案 2 :(得分:0)

尝试

Deafkaw.Where(p => (p.ImerominiaKataxorisis >= aDate && p.ImerominiaKataxorisis <= DateTime.Now &&
            p.Year == etos && p.IsYpodeigma == false)).ToList();

答案 3 :(得分:0)

使用SQL事件探查器。查看生成的sql查询。手动运行sql查询,看看是否有任何记录。