【问题标题】:Entity Framework get single row by LastOrDefault实体框架通过 LastOrDefault 获取单行
【发布时间】:2014-09-14 10:47:07
【问题描述】:

我有一个名为 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();
        }
    }
}

【问题讨论】:

    标签: entity-framework c#-4.0


    【解决方案1】:

    LastOrDefault 在 linq to sql 中不受支持。使用orderby .. descending,然后使用FirstOrDefault

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 2014-11-28
      相关资源
      最近更新 更多