实体框架由LastOrDefault获取单行

时间:2014-09-14 10:47:08

标签: entity-framework c#-4.0

我有一个名为Table1的表,其中包含以下列

ID, Foo, Bar, DateTime

ID是主键

我正试图从表格中获取foobar的最后一行 参数。

我想只获取最新的行(按DateTime排序)

public void DoIt(string foo, string bar)
{
    using (var context = new DataModelContainer())
    {
        var obj = (from m in context.Table1
                   where m.Foo == foo && m.Bar == bar
                   select m).LastOrDefault();

        if (obj != null)
        {
            DoSomthing()
            context.SaveChanges();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

linq to sql不支持

LastOrDefault。使用orderby .. descending然后FirstOrDefault

var obj = (from m in context.Table1
           where m.Foo == foo && m.Bar == bar
           orderby m.DateTime descending
           select m).FirstOrDefault();