1

我正在研究 LINQ,而 VS2012 在 OrderBy 中对我的 LINQ 语句表示不满:

The name 'x' does not exist in the current context

我想做的是:

SELECT * FROM Contacts 
WHERE DateCreated >= [SOMEDATE VALUE] 
AND   DateCreated <= [SOMEDATE VALUE]
ORDER BY DateCreated DESC
LIMIT 100

LINQ

model.Contacts = db.Contacts.Where((x =>(x.DateCreated >= p.DateFrom) && (x.DateCreated <= p.DateTo))).OrderByDescending(x.DateCreated).Take(100).ToList();

我在这里做错了什么?

谢谢

4

1 回答 1

3

您的 lambda 表达式中有太多括号。OrderByDescending此外,您的方法调用 中没有 lambda 变量。

尝试这个:

model.Contacts = db.Contacts
    .Where(x => x.DateCreated >= p.DateFrom && x.DateCreated <= p.DateTo)
    .OrderByDescending(x => x.DateCreated).Take(100).ToList();
于 2013-07-10T23:27:58.450 回答