誰かが私にT-SQLステートメントをLINQtoEFクエリに変換するように頼みました。
SELECT * FROM CopperPrices
where ID in
(select max(ID) as ID from copperprices group by market, pname)
私は一般的なLINQ-TO-OBJECTのアイデアを使用し、次の答えを出します。
class CopperPrice
{
public int ID { get; set; }
public string Market { get; set; }
public string PName { get; set; }
}
var result = from p in copperPrices
group p by new { Market = p.Market, PName = p.PName } into g
select g.OrderByDescending(p => p.ID).First();
ただし、次の例外のため、EFでは機能しません。
メソッド「First」は、最終的なクエリ操作としてのみ使用できます。このインスタンスでは、代わりにメソッド「FirstOrDefault」を使用することを検討してください
上記のT-SQLステートメントを1つのLINQクエリステートメントに変換できますか?