我似乎无法构建这个,我想要一些建议。 我有以下实体产品,价格和折扣。
产品有很多价格,一个价格有 1 个产品。 1 价格有很多折扣,1 折扣有很多折扣。
我想根据布尔属性"IsActive"定义@CheckBoxFor(...(的"已检查"状态,但我正在为此 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)
我还尝试了选择:
@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((在第一条语句之后,在该选择之后继续.折扣物业:
@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
傻我:) 亲切问候!