gpt4 book ai didi

c# - Linq2Sql 奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 22:29:19 26 4
gpt4 key购买 nike

在我的数据库中,我有例如13 个订单。

如果 OrderID = 0CustomerName = "lorem",下面的代码将返回所有这些。

如果我注释行 (OrderID == 0) ?.... 它工作正常。怎么了?

var result = (from x in db.Order
where
(OrderID == 0) ? x.OrderID > 0 : x.OrderID == OrderID
&&
(string.IsNullOrEmpty(CustomerName)) ?
!string.IsNullOrEmpty(CustomerName)
:
x.User.Name.Contains(CustomerName)
select x)
.ToList();

最佳答案

我认为您不能以这种方式在 LINQ 查询中定义条件条件,您可以做的是,例如:

var result = (from x in db.Order where
((OrderID == 0 && x.OrderID > 0) ||
(OrderID != 0 && x.OrderID == OrderID))
&&
(string.IsNullOrEmpty(CustomerName)) ?
!string.IsNullOrEmpty(CustomerName)
:
x.User.Name.Contains(CustomerName)....

关于c# - Linq2Sql 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10257245/

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