gpt4 book ai didi

c# - 使用 winform checkbox 进行 linq 查询

转载 作者:行者123 更新时间:2023-11-30 16:48:12 37 4
gpt4 key购买 nike

希望我以正确的方式提出这个问题。

我正在尝试确定使用复选框更改从我的 linq 查询返回的内容的最有效方法,而无需为每个可能的组合编写代码。

例如,我的 winform 上有三个复选框,代表我要查询的三列

[ ] 年

[ ] 制作

[ ] 型号

我正在使用 linq 语句通过 EF 确定年份品牌和型号的不同组合

var uniquecombos = cb.MakeModelYear.Where(i => i.Year != null && i.Make != null && i.Model != null).Distinct().ToList();

我想做的是使用我的 winform 上的复选框来驱动我在查询中包含哪些字段。

所以

[x] 年

[x] 制作

[ ] 型号

会产生

var uniquecombos = cb.MakeModelYear.Where(i => i.Year != null && i.Make != null).Distinct().ToList();

有没有一种好方法可以修改查询的输入,而不必通过 if 语句考虑复选框的每个组合?

提前致谢!

最佳答案

由于您有单独的属性,您仍然需要检查每个 - 但您可以同时考虑每个复选框组合:

.Where(i => (
(!cbxYear.Checked || i.Year != null) &&
(!cbxMake.Checked || i.Make != null) &&
(!cbxModel.Checked || i.Model != null)
)

关于c# - 使用 winform checkbox 进行 linq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38462981/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com