linq到实体,where子句如何使用?:表达式
linq到实体,where子句如何使用?:表达式,linq,linq-to-entities,Linq,Linq To Entities,TAB\u XXX和TAB\u XXX\u details是一对多关系,我需要查询这两个表,但是我们需要过滤TAB\u XXX\u 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 == (decim
TAB\u XXX
和TAB\u XXX\u details
是一对多关系,我需要查询这两个表,但是我们需要过滤TAB\u XXX\u 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子句
谢谢你的回答 由于
1==1
总是true
,您的情况归结为:
let dets = c.TAB_XXX_DETAILS
.Where(n => !condition.SaleType.HasValue || n.SALE_TYPE == condition.SaleType.Value)
本质上,当
条件.SaleType
没有值时,您希望返回所有行;否则,您将与条件.SaleType.Value
进行比较,因为1==1
总是true
,您的条件归结为:
let dets = c.TAB_XXX_DETAILS
.Where(n => !condition.SaleType.HasValue || n.SALE_TYPE == condition.SaleType.Value)
本质上,当
条件.SaleType
没有值时,您希望返回所有行;否则,您将与condition.SaleType.Value
“condition.SaleType是数字?”,什么类型是number?
@TimSchmelter公共十进制?SaleType{get;set;}
@TimSchmelterCondition
是一种查询类“Condition.SaleType是数字?”,什么类型是number?
@TimSchmelter公共十进制?SaleType{get;set;}
@TimSchmelterCondition
是一种查询类