2016-12-14 6 views
0

これはまったく気にする必要はありません。 教師が発表をモジュールに投稿できるシステム。私はそれを実装しましたが、学生はその発表にコメントできる必要があります。私のアプリケーションユーザには、ユーザを決定するための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; } 

} 
} 

。アナウンスモデルには、アナウンスメントに対するコメントモデルはどうすればいいですか?

答えて

0

私はあなたがコードでやったことのうちに、プロジェクトがあなたの頭や紙の中にあった前に、この質問をするべきだと思います。それは、エンティティの設計に関するものです。 "あなたが行くようにしてください。"はこの種の作業には受け入れられません。まず、私はあなたがこれを取ることをお勧めしますcourse、これはこの意味で非常に役立つと思います。

私は、モジュール、アナウンスメント、コメントという3つのテーブルがあり、あなたはORMフレームワークを使用していないと仮定しています。モジュールにはアナウンスがあり、アナウンスにはコメントがあると思います。

これらによれば、私はこれを行います。

モジュールデータをアナウンスの中に保持する必要はなく、コメントのアナウンスのためにモジュールデータを保持する必要はありません。ビューレイヤーで必要なのは、バインドして表示するモデルです。

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*/ 

私はそれが正しいとこれが役立ちます。

関連する問題