2016-12-14 3 views
0

Dies muss überhaupt nicht ausgefallen sein, es ist hauptsächlich das Modell im verwechselt. Es ist ein System, wo ein Tutor eine Ankündigung zu einem Modul veröffentlichen kann. Ich habe das implementiert, aber ein Student muss in der Lage sein, diese Ankündigung zu kommentieren. Mein Anwendungsbenutzer verfügt über ein isStudent-Feld, um Benutzer zu bestimmen.Hinzufügen einer kleinen Kommentarabschnitt zu einer Ankündigung

Announcement Modell:

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; } 
} 

}

Modul Modell:

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

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

} 
} 

Wo könnte ich diesen Abschnitt ändern, um einen Kommentar zu ermöglichen, hinzugefügt werden. Zum Ansage-Modell aber wie würde mir dann das Kommentarmodell zur Ankündigung gefallen?

Antwort

0

Ich denke, Sie sollten diese Frage vor allem, was Sie sonst im Code getan haben, stellen, wenn das Projekt in Ihrem Kopf oder in einer Zeitung war. Weil es etwas über das Design der Entitäten ist. "Make-up, wie Sie entlang gehen" ist nicht akzeptabel für diese Art von Arbeit. Erstens würde ich Ihnen empfehlen, diese course zu nehmen, ich glaube, dass dies in diesem Sinne sehr hilfreich sein wird.

Also nehme ich an, dass Sie drei Tabellen haben, Modul, Ankündigung und Kommentar, und Sie verwenden kein ORM-Framework. Ich denke, ein Modul hat Ankündigungen und eine Ankündigung hat Kommentare.

Nach diesen würde ich dies tun;

Keine Notwendigkeit, die Moduldaten innerhalb der Ansage oder des gleichen für Ansage im Kommentar zu behalten. Was ich in der In-View-Ebene brauche, ist ein Modell zum Binden und Anzeigen.

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

Ich hoffe, ich bekomme es richtig und das hilft.

Verwandte Themen