【问题标题】:Dynamic List of Messages动态消息列表
【发布时间】:2013-09-16 09:05:32
【问题描述】:
select MessageText from Messages order by MessageTime

我正在尝试从此 SQL 查询中进行 LINQ to SQL 查询。

我不想做的是返回我的数据库中的消息表中的所有消息的列表,这些消息在消息时间(日期时间)上排序。 但是如何对 Linq 查询执行此操作?

表名为 Messages 行 MessageText(string) 和 MessageTime(datetime)。

public IList<MessageByUser> GetAllMessages()
{
    var messlist = (m => m.MessageTime)
        .Select(m => OrderByDescending(y => y.MessageTime)
        .FirstOrDefault())
        .OrderByDescending(m => m.MessageTime);
}

我迷路了……有什么建议吗?

【问题讨论】:

    标签: c# sql-server linq-to-sql wcf-data-services


    【解决方案1】:
    return Messages.OrderByDescending(m => m.MessageTime).ToList();
    

    【讨论】:

      【解决方案2】:

      使用以下 linq 表达式:

      var q = from message in messages orderby message.MessageTime descending select message.MessageText;
      

      【讨论】:

        【解决方案3】:
         var me = (from m in chat.Messages
                          orderby m.MessageTime descending
                          select new MessageByUser() { MessageText = m.MessageText }).ToList();
                return me;
        

        这个终于为我工作了。

        谢谢大家的例子!我让我思考并尝试不同的方法。 :)

        【讨论】:

          【解决方案4】:

          我确定 .FirstOrDefault() 应该被删除,因为它只返回最大 1 个元素并且对单个元素列表进行排序是没有用的。

          【讨论】:

            【解决方案5】:
            Messages.OrderByDescending(m => m.MessageTime).Select(x => x.MessageText).ToList();
            

            【讨论】:

              猜你喜欢
              • 2011-08-06
              • 1970-01-01
              • 2020-03-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-06-22
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多