gpt4 book ai didi

c# - 使用 ? : Operand on entity framework

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:17 25 4
gpt4 key购买 nike

我想这样用

Context.Moves.OfType<Cuotes>().Where(p =>
p.Final == true
&& dtFrom.DateTime != null ? p.DeliverDate >= dtFrom.DateTime : true
&& dtTo.DateTime != null ? p.DeliverDate <= dtToHasta.DateTime : true
&& !ckShowDelivered.Checked ? p.Delivered == false : true
&& !ckShowDelivered.Checked ? p.Canceled == false : true
);

由于我有多个过滤器,我试图以这种方式进行操作,实际上我有另一个复选框来判断旧的 Cuotes 版本是否使用 Final == false 语句显示,但是 Where 子句中的这个操作数似乎不起作用。

这是应用此操作数的一种方法,或者我必须对每个可能的选项组合的 if 条件进行硬编码?

最佳答案

您可以将它们链接到单独的 Where 调用中:

var result = Context.Moves.OfType<Cuotes>().Where(p => p.Final == true);

if (dtFrom.DateTime != null)
result = result.Where(p => p.DeliverDate >= dtFrom.DateTime);
if (dtTo.DateTime != null)
result = result.Where(p => p.DeliverDate <= dtToHasta.DateTime);
if (!ckShowDelivered.Checked)
result = result.Where(p => !p.Delivered);
if (!ckShowDelivered.Checked)
result = result.Where(p => !p.Canceled);

这样,您可以使用任何类型的外部条件来影响您的查询,而不必在查询本身中使用这些外部条件。

关于c# - 使用 ? : Operand on entity framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33714731/

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