使用带有2个where子句的LINQ方法由于某些原因将不起作用

问题描述 投票:1回答:1

我有这样的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子句,但似乎无济于事。调试和逐步执行代码时,我没有收到任何错误消息。

c# entity-framework linq
1个回答
3
投票
如果这是对象的LINQ,这将起作用。但是,因为这是实体框架,所以您永远不会知道。您的SQL构建不正确。就是这个。这样做
© www.soinside.com 2019 - 2024. All rights reserved.