我可以将这个查询语法linq表达式转换为方法语法吗?

本文关键字:语法 转换 方法 表达式 linq 查询 我可以 | 更新日期: 2023-09-27 18:17:52

我已经写了这段代码从sql server连接两个表在一起,现在我想写这个方法语法。我如何重写这段代码?

LinqToLoginDataContext lnqdore = new LinqToLoginDataContext();
var f = (from k in lnqdore.Table_Years
         join h in lnqdore.Table_Dores on k.Id equals h.FK_Year
         where h.Id == (int)dataviewDore.CurrentRow.Cells["Id"].Value
         select k).Single();

我可以将这个查询语法linq表达式转换为方法语法吗?

var f = lnqdore.Table_Years
    .Join(lnqdore.Table_Dores, k => k.ID, h => h.FK_Year, (k, h) => new { k, h })
    .Where(res => res.h.ID == (int)dataviewDore.CurrentRow.Cells["Id"].Value)
    .Select(res => res.k)
    .Single();