c# - 由于某种原因,使用带有 2 个 Where 子句的 LINQ 方法将不起作用
问题描述
我有一个这样的 LINQ 方法:
List<string> paths = db.ClientStatement_Inventory
.Where(x => x.statementYear == year)
.Select(c => c.statementPath).ToList();
上述方法效果很好,它根据检查的年份将语句路径放入数据库中的“路径”中。
出于某种原因,当我添加另一个 where 子句时,它不会联系数据库并将任何语句路径放入变量“paths”中。
这是我的第二个 linq 方法:
List<string> paths = db.ClientStatement_Inventory
.Where(x => x.statementYear == year)
.Where(x => x.statementMonth == month)
.Select(c => c.statementPath).ToList();
我将年份和月份设置为这样的字符串:
for (int y = 0; y < years.Length; y++)
{
var year = "";
if (years.ToString() != "")
{
year = years[y];
}
我尝试了多种不同的方法来执行来自不同堆栈溢出问题的两个 where 子句,但似乎没有任何效果。调试和单步执行我的代码时,我没有收到任何错误消息。
解决方案
If this was LINQ to objects, this would work. But because this is Entity Framework... you never know. Your SQL is not built correctly. This is it. Do this
.Where(x => x.statementYear == year && x.statementMonth == month)
推荐阅读
- google-cloud-platform - Google Next 的这张幻灯片中使用了什么语言
- python - Unittest模拟类的方法没有被调用
- amazon-web-services - 我们如何使用 aws cli 命令使用新的 json 文件更新现有的 iam 策略
- c# - 如何计算字符串中找到的数字的总和?
- reactjs - 根据 dataSource 属性禁用一行 - antd 表
- matlab - 具有 O(log(N)) 插入、删除和最小键查找的 MATLAB 数据结构?
- ios - react-native-code-push 在本机设置中不起作用
- json - 使用 URLSession 从服务器获取数据
- php - 是否有监控多个基于作曲家的安装的工具?
- dhtmlx-scheduler - DHTMLX 调度程序时间线从服务器刷新数据