Ef6转换接口类型以用作集合

时间:2017-04-19 12:49:40

标签: c# entity-framework-6

大家好我想弄清楚如何做以下事情。我有很多实体会使用以下模式,我不确定刺穿它的最佳方式。

我将使用虚拟类来演示我想要完成的任务。 首先,我们首先采用一种名为IClass

的接口
public interface IClass
{
    string Title { get; set; }
    int Id { get; set; }
    ICollection<IPerson> People{get;set;}
}
public class StudentClass:IClass
{
    public string Title { get; set; }
    public int Id { get; set; }
    public ICollection<IPerson> People { get; set; }
}
public class TeacherClass : IClass
{
    public string Title { get; set; }
    public int Id { get; set; }
    public ICollection<IPerson> People { get; set; }
}
public class Employee : IPerson
{
    public string FirstName { get; set; }

    public int Id { get; set; }

    public int EmployeeNumber { get; set; }

    public string LastName { get; set; }
}
 public class Student : IPerson
{
    public string FirstName { get; set; }

    public int Id { get; set; }

    public string LastName { get; set; }

    public virtual ICollection<Course> Courses { get; set; }
}

我想要做的是使用modelBuilder注册该类特定的ICollection<IPerson>。例如,TeacherClass IPerson应该是EmployeeStudentClass,它应该是Student

我该如何做到这一点?

0 个答案:

没有答案