0

次のシナリオをマッピングすることは可能ですか?

データ テーブル

学生

+ ID: int PK
+ 名前: varchar(200)

クラス

+ ID: int PK
+ StudentID: FK
+ CourseID: FK
+ EnrollmentDate: DateTime

コース

+ ID: int PK
+ 名前: varchar(200)

テーブルを以下のエンティティにマップしたいと思います。

public class Student
{
    [Key]
    public int ID {get;set;}
    public string Name {get;set;}
    public virtual ICollection<Class> Classes {get;set;}
}

public class Class
{
[Key]
public int ID {get;set;}
public Student Student {get;set;}
public DateTime EnrollmentDate {get;set;}
public string Name {get;set;} // this comes from the Courses data table
}

4

1 に答える 1

0

これは、必要な FK 関係を確立する方法です。

public class Student
{
   [Key]
   public int StudentId {get;set;}
   public string Name {get;set;}
}

public class Class
{
   [Key]
   public int ClassId {get;set;}
   public DateTime EnrollmentDate {get;set;}

   //foreign keys
   public int CourseId {get;set;}
   public string StudentId {get;set;} 

   //virtual constraint to link to referenced tables
   public virtual Course Course {get;set;}
   public virtual Student Student {get;set;}
}

public class Course
{
   [Key]
   public int CourseId {get;set;}
   public string CourseName {get;set;}
}
于 2013-07-11T19:55:52.853 に答える