Entity Framework 带有 ORDER BY 的 CASE 语句

Entity Framework CASE statement with ORDER BY

有人可以帮助我将以下 SQL 转换为 linq 查询吗?

SELECT TOP 1000 CountryID
,CoutryName
,ISO2
FROM dbo.Countries
ORDER BY CASE WHEN ISO2 IN('GB','LU','CA','ES')
THEN 0 ELSE 1 END, CountryID 

OrderBy by CASE可以用三元运算符表示? :

var names = new [] {"GB", "LU", "CA", "ES"};
...
query = query.OrderBy(x => names.Contains(x.ISO2) ? 0 : 1);