【发布时间】:2021-10-26 12:42:30
【问题描述】:
我需要更改一个流程,并且已经为此苦苦挣扎了几天。 当前任务检查用户在表 1 中输入的所有数字。我没有这个问题,因为我可以用这个语句返回它:
var itemsTable1 = db.Table1.Where(a =>
searchNumbers.Contains(a.Digit1) || searchNumbers.Contains(a.Digit2) || searchNumbers.Contains(a.Digit3) ||
searchNumbers.Contains(a.Digit4) || searchNumbers.Contains(a.Digit5) || _Digit6 == a.Digit6 && a.ValidFlag == 1
).ToList();
现在我需要在 Table2 上查找相同的数字,并确保我也带上了这些数字。尽管这些表将具有相同的数字列,但它们的总列数不会相同。我可以对 Table2 进行上述的另一个陈述,那里没有问题。但是,我还需要携带不包含数字但具有相同 ID 的记录。所以,我的场景是这样的:
Table1 = 包含数字 -> Table2 != 包含数字
Table2 = 包含数字 -> Table1 != 包含数字
Table1 = 包含数字 -> Table2 = 包含数字
最后,我需要按降序显示任一列表上的数据,我假设我必须合并两个/三个列表并将其返回给模型。
有没有办法用普通的 Linq 做到这一点?还是我最好在存储过程中创建一个 CTE 并在那里传递参数然后在 EF 中调用?
【问题讨论】:
标签: c# asp.net-mvc linq