将如上sql语句翻译成linq语句~

将如下sql语句翻译成linq语句~~~~SELECT Areate,ColorName,C FROM V AS AWHERE C(SELECT MAX(C) FROM V W

将如下sql语句翻译成linq语句~~~~

SELECT Areate,ColorName,C FROM V AS A
WHERE C=(SELECT MAX(C) FROM V WHERE Areate=A.Areate )

翻译成Linq语句,谢谢~~~
[解决办法]
引用:
SQL code
SELECT Areate,ColorName,C FROM V AS A
WHERE C=(SELECT MAX(C) FROM V WHERE Areate=A.Areate )


翻译成Linq语句,谢谢~~~

var query= from A in db.V
           where A.C==db.V.Where(x=>x.Areate==A.Areate).Select(x=>x.C).Max()
           select new {A.Areate,A.ColorName,A.C};