【发布时间】:2025-12-07 19:45:02
【问题描述】:
我在方法链中写了一个查询:
var query = finnEntities.FINN_TRANSACTION_VIEW.Where(
x => x.CREDIT_ID == model.CodeId
|| x.DEBTOR_ID == model.CodeId
&& (x.TRANSACTION_DATE>= model.DateTimeFrom.Date
&& x.TRANSACTION_DATE <= model.DateTimeTo.Date)
&& x.CURRENCY_TYPE_ID == model.CurrencyId);
我使用 linq 表达式编写了相同的查询:
var queryTransaction =
from t in finnEntities.FINN_TRANSACTION_VIEW
where (t.CREDIT_ID == model.CodeId
|| t.DEBTOR_ID == model.CodeId)
&& (t.TRANSACTION_DATE >= model.DateTimeFrom
&& t.TRANSACTION_DATE <= model.DateTimeTo)
&& t.CURRENCY_TYPE_ID == model.CurrencyId
select new { t };
但他们有不同的输出,第二个返回正确的结果
【问题讨论】:
-
您没有编写相同的查询 - 以及 where 子句不同,您的查询表达式使用匿名类型的投影,没有明显的原因。
-
还有什么问题?
标签: c# linq entity-framework method-chaining