4

私は現在、イベント カレンダーの Web サイトに取り組んでいますが、ASP.NET に関してはまだ初心者です。MVC4 フレームワーク、EntityFramework (CodeFirst)、および MVC4 テンプレートに付属する SimpleMembershipProvider を使用しています。私は移行も使用しています-それが興味からであれば。

これまでに得たもの

私は現在、1 対多の関係を持つ 2 つのモデルを持っていますが、これらは問題なく動作します。

_Events.cs (イベントが予約されているため、そのように名前を付ける必要がありました)

public class _Event
{
    public int _EventId { get; set; }
    public string Name { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }

    public virtual List<Comment> comments { get; set; }
}

コメント.cs

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

    public int _EventId { get; set; }
    public virtual _Event _Event { get; set; }
}

問題

ここで、Membership モデルから Comment と User の間に別の 1 対多の関係を追加したいと思いますが、その方法がわかりません。

私が達成したい目標は、各イベントのコメントのリストを作成し、各コメントのユーザー情報を出力できるようにすることです。私はいくつかのことを試しましたが、まだ機能させることができませんでした。私の最後の試みは次のようになります:

public class Comment
{
    // snip - see above

    public virtual UserProfile User { get; set; }
}

あらかじめご了承くださいますようお願い申し上げます。

4

2 に答える 2

2

コメントに UserId が必要です。

public class Comment
{
    // snip - see above

    public int UserId {get; set;}
    public virtual UserProfile User { get; set; }
}

また、コメントとユーザーの間の関係を設定する必要があるため、アカウント コントローラーには次のようなものがあります。

public class UserProfile
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int UserId { get; set; }
        public string UserName { get; set; }
        public virtual ICollection<Comment> Comments { get; set; }
    }
于 2013-08-19T14:16:04.033 に答える