【发布时间】:2011-09-23 10:47:27
【问题描述】:
我最近一直在试验 LINQ to SQL,并有一个简短的问题。 基本前提是我有一个搜索请求,其中包含我用来搜索包含汽车的数据库的品牌和型号。
我的 Where 子句的表达式如下所示:
.Where(c => c.make == search.make && c.model == search.model)
当我的搜索同时包含品牌和型号时,这很好。当它只包含一个品牌(反之亦然)而不包含两个搜索字段时,就会出现问题。我希望它退回所有该品牌的汽车,但它没有退回任何汽车。
我假设这是因为它正在寻找 make 加上一个 null 或空的模型?
除了使用一系列“如果非空附加到查询”类型的步骤手动构建查询之外,是否有一种优雅的方法来解决这个问题?
【问题讨论】:
-
我也会感兴趣,现在我用 If Else 解决了这种问题,然后在这两种情况下我执行不同的 Linq to Sql 查询。
标签: c# linq linq-to-sql