哪一个更适合和linq一起坐在我桌子的最后一排



哪一个更适合使用linq将表的最后一行转换为nhibernate?为什么?

    internal Bill GetLastBill()
    {
        var q = from b in session.Linq<Bill>()
                select b;
        return q.OrderByDescending(x => x.Id).First();
    }

    internal Bill GetLastBill()
    {
        long maxId = session.Linq<Bill>().Max(i => i.Id);
        var q = from b in session.Linq<Bill>()
                where b.Id == maxId
                select b;
        return q.First();
    }

您是否考虑过:

return session.Linq<Bill>().Last();

MSDN参考

在您的两个选项中,第一个选项更好,因为它执行1个查询。第二个选项将执行2个查询。

最新更新