【发布时间】:2015-06-16 14:42:59
【问题描述】:
我必须对同一个 lambda 表达式中的字符串和日期进行比较,但出现以下错误:
- 委托
System.Func<FatturaPA_ERP.Contratto,int,bool>不接受 1 个参数 - 无法将 lambda 表达式转换为类型
string,因为它不是委托类型 - 运算符
==不能应用于string和System.Collections.Generic.List<char>类型的操作数
这是我的代码:
_listContratti = _db.Contrattoes
.Where(a => ((a.PIva.ToLower() == PIVA.ToList()) && (a.Data >= _dt)))
.OrderBy(c => c.PIva)
.ToList();
PIva 是 nvarchar,Date 是 Datetime,_dt 是 DateTime _dt = new DateTime(2015, 06, 11)
【问题讨论】:
-
a.PIva.ToLower() == PIVA.ToList()在我看来很奇怪。您正在将小写字符串与某种类型的List进行比较? -
如果您不使用 quite 这么多方括号,这真的很有帮助 - 例如,
Where(a => a.PIva.ToLower() == PIVA.ToList() && a.Data >= _dt)有什么问题? (我完全同意将字符串与列表进行比较很奇怪,请注意...)
标签: c# entity-framework lambda