【发布时间】:2016-12-07 15:30:34
【问题描述】:
我一直在使用 LinQ,我可以使用 1 个过滤器进行更新,但是当使用多个过滤器时,它会忽略其他 2 个,只检查第一个。
这是我正在使用的代码:
一个有效的地方:
Engagement_History eh = qdb.Engagement_History.First(a => (a.pdPPMCID.Equals(PPMCID));
多个不工作的地方:
Engagement_History eh = qdb.Engagement_History.First(a => ((a.pdPPMCID.Equals("1")) && (a.ehMonth.Equals("1")) && (year.Equals("2016"))));
【问题讨论】:
-
你对不起作用的定义是什么?
-
你只有
year.Equals("2016"),这不应该是a.year.Equals("2016")(或什么)吗?这是您的问题中的错字还是您的实际代码? -
究竟什么是
a,您不应该使用String.Compare而不是Equal吗? -
此声明是否适合您:
Engagement_History eh = qdb.Engagement_History.Where(a => ((a.pdPPMCID.Equals("1")) && (a.ehMonth.Equals("1")) && (a.year.Equals("2016")))).FirstOrDefault(); -
是的,事实证明我忘记了当年的 a。谢谢@ChrisF。连续编码 7 小时开始失去理智