在 LinQ lambda 中根据布尔值 属性 设置 Razor CheckBoxFor 检查值
Set Razor CheckBoxFor checked value based on boolean property in a LinQ lambda
我似乎无法构建这个,我想要一些建议。
我有以下实体产品、价格和折扣。
产品有很多价格,一个价格有 1 个产品。
1 个价格有很多折扣,1 个折扣有 1 个价格。
我想根据布尔值 属性 'IsActive' 为 @CheckBoxFor(...) 定义 'Checked' 状态,但我正在为这个 Lambda 而苦苦挣扎......
'IsActive'属性没有映射,是非是根据折扣实体的当前日期和开始结束日期的比较。
@Html.CheckBoxFor(p => p.Product.Prices.Where(price => price.Product.ID == p.Product.ID && price.PriceType == BusinessLayer.Enums.PriceType.PurchasePrice && price.Discounts.Where(discount => discount.IsActive).SingleOrDefault().IsActive)
我也试过 Select:
@Html.CheckBoxFor(p => p.Product.Prices.Where(price => price.Product.ID == p.Product.ID && price.PriceType == BusinessLayer.Enums.PriceType.PurchasePrice && price.Discounts.Select(d => d.IsActive)).IsActive)
我的逻辑有问题吗,我做错了什么?
非常感谢您的任何反馈!
亲切的问候
好吧,我明白了,我没看清楚。
我需要先在第一个语句之后使用 .SingleOrDefault() 来获取价格,之后,在 .Discounts 属性:
@Html.CheckBoxFor(p => p.Product.Prices.Where(price => price.Product.ID == p.Product.ID && price.PriceType == BusinessLayer.Enums.PriceType.PurchasePrice).SingleOrDefault().Discounts.Where(d => d.IsActive).SingleOrDefault().IsActive
傻我:)
亲切的问候!
我似乎无法构建这个,我想要一些建议。 我有以下实体产品、价格和折扣。
产品有很多价格,一个价格有 1 个产品。 1 个价格有很多折扣,1 个折扣有 1 个价格。
我想根据布尔值 属性 'IsActive' 为 @CheckBoxFor(...) 定义 'Checked' 状态,但我正在为这个 Lambda 而苦苦挣扎......
'IsActive'属性没有映射,是非是根据折扣实体的当前日期和开始结束日期的比较。
@Html.CheckBoxFor(p => p.Product.Prices.Where(price => price.Product.ID == p.Product.ID && price.PriceType == BusinessLayer.Enums.PriceType.PurchasePrice && price.Discounts.Where(discount => discount.IsActive).SingleOrDefault().IsActive)
我也试过 Select:
@Html.CheckBoxFor(p => p.Product.Prices.Where(price => price.Product.ID == p.Product.ID && price.PriceType == BusinessLayer.Enums.PriceType.PurchasePrice && price.Discounts.Select(d => d.IsActive)).IsActive)
我的逻辑有问题吗,我做错了什么? 非常感谢您的任何反馈! 亲切的问候
好吧,我明白了,我没看清楚。 我需要先在第一个语句之后使用 .SingleOrDefault() 来获取价格,之后,在 .Discounts 属性:
@Html.CheckBoxFor(p => p.Product.Prices.Where(price => price.Product.ID == p.Product.ID && price.PriceType == BusinessLayer.Enums.PriceType.PurchasePrice).SingleOrDefault().Discounts.Where(d => d.IsActive).SingleOrDefault().IsActive
傻我:) 亲切的问候!