【发布时间】:2013-10-08 12:56:35
【问题描述】:
我有一个 Linq 查询。在那我使用包含的列表来过滤一些记录。查询需要在任一列表值(100 或 110 或 120)中查找不为空的值。
列出值
List splitted = {"100", "110", "120"}
查询
model = (from line in db.Bibs
where line.TNo == "245"
&& (line.NrmVal.StartsWith(Val) || line.NrmVal.Contains(" " + Val))
select new MyModel
{
Author = (from a in db.Bibs
where a.BId == line.Bid
&& splitted.Contains(a.TNo)
&& a.NrmVal != null
select a.NrmVal).FirstOrDefault()
}).ToList();
感谢您提供解决方案的任何帮助。
谢谢
【问题讨论】:
-
什么不工作?
-
执行查询时抛出超时异常。我认为我没有按照正确的方法进行此检查 (a.NrmVal != null).
-
我们需要更多信息。这是 LINQ to SQL 吗? db.Bibs 的组成部分是什么?您的 null 检查和 id 检查似乎没有必要,但我觉得我们在这里缺少信息。
-
代码对我来说看起来不错?
TimeoutException似乎更多地与网络延迟有关,而不是您的 LINQ 查询 - 也许它花费的时间太长? -
对不起。那实际上是子查询。现在,我更新了我的问题。请立即检查。