ASP.NET MVC无法将数据和相关数据提供给视图。 (查看模型模式?)

时间:2010-07-23 05:19:35

标签: c# asp.net-mvc viewmodel

我的网站有用户。 我的网站有项目。 用户可以留下项目的评论。 用户可以保留项目的评级。 当用户对一个项目进行评分时,他们会将其评定为不同的类别:构建质量评级,有用性评级,美学吸引力评级。

因此,在我的数据库中,我的评论表会有一个条目,而我的评级表每个用户每个项目将有三个条目。

现在,在我的项目页面上,我想显示最近的十个评论和评分。

我如何获取评论和相应的评分并将它们全部发送到视图以供显示?

(我正在使用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),每个评级可能有三个记录。

这有意义吗?

最好的方法是什么?

我对这种方法和数据库架构感到很疯狂吗?

感谢您的耐心等待。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)