我的网站有用户。 我的网站有项目。 用户可以留下项目的评论。 用户可以保留项目的评级。 当用户对一个项目进行评分时,他们会将其评定为不同的类别:构建质量评级,有用性评级,美学吸引力评级。
因此,在我的数据库中,我的评论表会有一个条目,而我的评级表每个用户每个项目将有三个条目。
现在,在我的项目页面上,我想显示最近的十个评论和评分。
我如何获取评论和相应的评分并将它们全部发送到视图以供显示?
(我正在使用LINQ to SQL)。
感谢。
编辑: 对不起,以为我收录了足够的信息。这是关于我的数据库的更多信息。 假设我的网站包含不同种类的项目。让我们说它包含汽车和书籍的信息。显然,在对汽车进行评级时,您的评价标准与对图书评级时的标准不同。
我将所有评级数据放入一个评级表中。
我有一个RatingsCategories表。它包含两个列:
RatingCategoryID (Identity column)
RatingCategory (name of category)
类别“封面艺术”适用于书籍。 “性能”类别适用于汽车。
我有一张评级表。它包含以下列:
RatingID (Identity column)
EntityID (Unique identifier among Cars AND Books)
UserID (Identifier of the user who left the rating)
RatingCategoryID (Reference to the category; FK from the RatingsCategories table)
Rating (int; the rating given)
DateModified (DateTime)
因此,此表可以包含书籍和汽车的所有评级。一本书可能对每个用户有三种不同的评级(封面艺术,内容,装订质量等),一辆汽车每个用户可能有三种不同的评级(外观,性能,易于维护等)
同样,我的评论表可以包含书籍和汽车的评论。它看起来像这样:
ReviewID (Identity column)
EntityID (Unique identifier among Cars AND Books)
UserID (Identifier of the user who left the rating)
Body (Text of review)
DateModified (DateTime)
用户可以对每个项目进行一次评分和评估。因此,如果网站访问者导航到图书页面,我想显示最近10个评论和相应的评分。这意味着我需要获取该书的10个最新评论记录。我还需要获取该书最近的十个完整评级(相同的EntityID和与评论相同的用户ID),每个评级可能有三个记录。
这有意义吗?
最好的方法是什么?
我对这种方法和数据库架构感到很疯狂吗?
感谢您的耐心等待。
答案 0 :(得分:3)
答案 1 :(得分:0)