0

現時点では、Fluent Api を介して既存の DB テーブルを新しい EF 4.5 モデルにマッピングしています。次のデータベース構造をクラスにマップする方法について質問があります。

Students(pk Id...)
Courses (pk Id...)
Students_Courses (pk Id, fk StudentId, fk CourseId)
Comments (pk Id, fk Students_Courses Id, comment, dateposted...)

アイデアは、student_course のペアごとに多くのレビューがある可能性があるということです。このシナリオで私のクラスを表現する最良の方法は何ですか? ここでの問題は、Comment エンティティを Students_Courses テーブルにマップし、このコメントが属する Student と Course (クラスに関して) をどうにかして判断する必要があることです。デザインに関する提案はありますか?ありがとう!

4

1 に答える 1

2

Entity Framework Power Toolsを使用して、データ モデルをリバース エンジニアリングし、 DbContextAPIを使用して "コード ファースト" モデルにすることもできます。

StudentCourse次のようなクラスのようなものが生成されることがわかります。

public class StudentCourse
{
    public StudentCourse()
    {
        this.Comments = new List<Comment>();
    }

    public int StudentCourseId { get; set; }
    public int StudentId { get; set; }
    public int CourseId { get; set; }
    public virtual ICollection<Comment> Comments { get; set; }
    public virtual Course Course { get; set; }
    public virtual Student Student { get; set; }
}

次のCommentようになります。

public class Comment
{
    public int CommentId { get; set; }
    public int StudentCourseId { get; set; }
    public virtual StudentCourse StudentCourse { get; set; }
    ...
}

したがって、コメントは学生とコースに関連していますStudentCourse

于 2012-10-24T19:01:22.583 に答える