什么是在数据库中保存消息对话的最佳方法

时间:2013-09-18 17:48:38

标签: c# asp.net sql sql-server-ce

注意:我已经阅读了有关此网站上的聊天和消息的所有文章和问题。所以不要尝试向我提供链接,他们只是通过MySql帮助用户,但我正在使用SQL CE请注意 CE 。我知道这不是一个代码生成网站我尊重这个网站的使用条款。但我别无选择!我必须提出建议。

我想要的是什么:我希望在我的数据库中有一个消息表。我想要的是它应该保存消息,然后我会从中获取消息。它应该保存TimeMessageSenderRecipient以及最后Seen列。

我所拥有的内容:我所拥有的数据库表包含这些列。但问题是我想要这些:

  1. 不同的发件人和收件人。更像是一个线索对话。

  2. 按时间排序。所以最新的一个出现了。

  3. 休息将通过块内的查询进行访问。所以这不是像Profile Picture,UserId,UserName和其他

  4. 这样的问题

    我能够创造的是:

    message

    你可以看到我确实创建了表格。这节省了聊天!但这里需要注意的是我使用过这个查询。

    SELECT DISTINCT Sender, Recipient FROM Messages WHERE Sender =2 OR Recipient =2
    

    我能够像线程一样获得结果,但是没有订购。除非我选择时间,否则不会订购它们。但选择TIME将删除DISTINCT

    的功能

    任何建议都将受到赞赏。我只是不知道如何创建一个线程视图并按时间排序!请记住我正在使用 SQL Server CE ,因此您可以在 SQL Server 上执行的操作在此处不起作用。因此,为我提供一个代码,可以选择所有这些,也会帮助我。我被困在这一个!

    提前感谢宝贵的时间,干杯!

1 个答案:

答案 0 :(得分:0)

您应该能够按时间戳排序而不将其包括在选择中。

尝试将ORDER BY TIME DESC添加到您的查询