元のSQLは次のようになります。
SELECT MIN(ID) AS GeoID, MIN(PostalCode), PlaceName
FROM GeoData_ALL
GROUP BY CountryCode, PlaceName
ORDER BY PlaceName
Dynamic Linqで翻訳する必要があります。
var searchResult = db.Set(GeoData)
.AsQueryable()
.OrderBy("PlaceName")
.GroupBy("CountryCode", "PlaceName")
.Select("new (MIN(ID) AS GeoID, MIN(PostalCode), PlaceName");
残念ながら、「MIN」関数はDynamic Linqには適用できないようです
次のコードが役立ちます。確認してください(これはサンプルコードのみです)。
var searchResult = db.Set(GeoData)
.AsQueryable()
.OrderBy("PlaceName")
.GroupBy("CountryCode", "PlaceName")
.Select(g => new { GeoID = g.Min(p => p.ID), PostalCode = g.Min(p => p.PostalCode), PlaceName = g.PlaceName });