【问题标题】:Entity Framework Code First Inheritance - multiple types实体框架代码优先继承 - 多种类型
【发布时间】:2013-07-15 10:20:58
【问题描述】:

我正在使用 Entity Framework Code First Table-per-Type 继承。我想模拟这个问题:

我有一个名为:User 的基类。还有两个派生类:

公开课学生:用户{}
公共课教师:用户{}

所以现在我希望能够插入一个既是教师又是学生的用户。据我所知,这在这种方法中是不可能的。那么如何在 Code First 中解决这个问题呢?样本插入会是什么样子?

非常感谢

【问题讨论】:

  • 另一种选择是使用接口IStudentITeacher,但同样,您需要在编译时知道。您也许可以有一个基本的User 表,然后将StudentDetailsTeacherDetails 该外键返回到User。当用户成为学生时,填写他们的StudentDetails。当他们成为老师时,请填写他们的TeacherDetails。如果他们最终成为学生和老师,他们将在两个表中都有参考。

标签: .net entity-framework ef-code-first


【解决方案1】:

您猜您需要创建另一个名为 public class TeachingStudent: User 的类并将其用于此类情况

【讨论】:

  • 谢谢。但这只是部分解决了我的问题。因为我必须在一开始就知道这个学生会教书。我想要更灵活的解决方案。
  • 当学生开始教学时,您可以将其从学生中删除并将其添加到 TeachingStudents
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多