TAB_XXX
和TAB_XXX_details
是一对多关系,我需要查询这两个表格,但是,我们需要过滤TAB_XXX_details
。
代码如下:
var qu = from c in db.TAB_XXX.Where(n => n.DELETE_MARK == false)
let dets = c.TAB_XXX_DETAILS.Where(n => condition.SaleType.HasValue ? n.SALE_TYPE == (decimal)condition.SaleType : 1 == 1)
select new
{
c,
dets
};
Condition.SaleType
是number?
,如果condition.SaleType
是有效数字,例如1,2,3 ......我想根据这些数字过滤子记录;当condition.SaleType
为null
时,我想查询TAB_XXX
及其所有子记录;
如何修改where子句?
感谢您的回答!
答案 0 :(得分:0)
由于1 == 1
始终为true
,因此您的情况归结为:
let dets = c.TAB_XXX_DETAILS
.Where(n => !condition.SaleType.HasValue || n.SALE_TYPE == condition.SaleType.Value)
基本上,当condition.SaleType
不具有值时,您希望返回所有行;否则,您与condition.SaleType.Value
进行比较。