加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在asp.net mvc中实现“关注人,发布”功能

发布时间:2020-12-16 09:35:21 所属栏目:asp.Net 来源:网络整理
导读:在任何社交网络中,你可以关注一个人,一个帖子或任何事情,你所遵循的一切都将显示在你的墙上,现在我想在asp.net mvc中实现相同的功能,但我在设计表上有问题要查询以下所有用户的事情.这是我设计的表格: [User(id,name,email,password)] [Following(id,person
在任何社交网络中,你可以关注一个人,一个帖子或任何事情,你所遵循的一切都将显示在你的墙上,现在我想在asp.net mvc中实现相同的功能,但我在设计表上有问题要查询以下所有用户的事情.这是我设计的表格:

 [User(id,name,email,password)]
 [Following(id,personId,followingId,source)]
 [Post(id,title,description,authorId)]

因此,当用户跟随??其他用户时,将在下表上推送新记录,其中followId是userId,source是“User”表,与跟随postId的帖子一样是postId,source是“Post”表.
问题是从以下内容中获取数据时,如果用户使用的内容多于Post和其他用户(例如Tag,Topic …),则查询会连接多个表以返回结果.这将不是很好的性能和查询时间将数据返回给用户.
你对此有什么想法吗?非常感谢您听到您的解决方案,非常感谢!

解决方法

您的数据库设计存在缺陷,而不是一个带有字符串的“链接”表,以确定“Followed thing”所在的位置使得难以有效查询.

相反,每个链接的东西需要一个链接表.在您的简化示例中,您可能有

[User(id,password)]
[Post(id,authorId)]
[UserFollowingUser(id,userId,followedUserId]
[UserFollowPost(id,postId)]

因此,要让所有用户关注帖子,或者跟随用户的所有帖子,或让所有用户关注特定用户,或者让特定用户跟随所有用户都很容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读