在公告中添加一个小评论部分

时间:2016-12-14 04:09:36

标签: asp.net-mvc

这根本不需要花哨,它主要是模型我很困惑。 它是一个导师可以向模块发布公告的系统。我已经实现了,但学生需要能够对该公告发表评论。我的应用程序用户有一个isStudent字段来确定用户。

公告模式:

namespace CloserAgainThree.Models
{
public class Announcements
{
    public int AnnouncementsId { get; set; }
    public string AnnouncementContent { get; set; }
    public int ModuleId { get; set; }

    public virtual Module Module { get; set; }
    public virtual ApplicationUser User { get; set; }
}

}

模块型号:

namespace CloserAgainThree.Models
{
 public class Module
{
    public int ModuleId { get; set; }
    public string ModuleName { get; set; }

    public ICollection<Announcements> announcement { get; set; }

}
}

我可以在哪里更改此部分以允许添加评论。对于公告模型,我怎么会喜欢评论模型到公告?

1 个答案:

答案 0 :(得分:0)

我认为你应该在代码中完成任何其他事情之前提出这个问题,当项目在你的头脑或纸上时。 Becasue,它是关于实体设计的东西。 &#34; 随着时间的推移进行补充&#34;这种工作是不可接受的。首先,我建议你采取这个course,我相信这在这个意义上会非常有用。

所以,我假设您有三个表,模块,公告和注释,并且您没有使用任何ORM框架。我想,一个模块有公告,公告有评论。

根据这些,我会这样做;

public class Module
{
    public int ModuleId { get; set; }
    public string ModuleName { get; set; }
}

public class Announcement
{
    public int AnnouncementId { get; set; }
    public string AnnouncementContent { get; set; }
}

public class Comment
{
    public int CommentId { get; set; }
    public string Content { get; set; }
}

无需将模块数据保留在公告内,也不需要在评论中公布。我在视图层中需要的是一个绑定和查看的模型。

List<Announcement> listofAnnouncement = dbContext.getAnnouncementByModuleId(int moduleId);

/* For example, showing the 3rd announcement on the screen */

Announcement announcementOnScreen = listofAnnouncement.Find(x => x.AnnouncementId == 3);

/* Get comments */

List<Comment> listOfComment = dbContext.getCommentsByAnnouncementId(AnnouncementOnScreen.AnnouncementId);

/*Then bind the comments*/

希望我做对了,这有帮助。