【发布时间】:2012-11-27 16:23:12
【问题描述】:
使用数据库优先模型:假设我们有经典表 Student、Course 和 StudentCourse(后者显然对 Student 和 Course 有 FK)。
如果将此模型导入 EF,您将获得为每个模型生成的对象。 Student 和 Course 类将分别有一个 StudentCourses 的集合,您需要从中跳转另一个关系以分别到达 Course 或 Student。
我希望生成的代码使得底层交集表不可见,即Student 有一个Courses 的集合,Course 有一个Students 的集合。我已经在其他 ORM 软件(特别是TopLink)中看到了这一点。可以在EF中完成吗?
【问题讨论】:
-
所以只豁免
table1table2模型? -
代码优先当然可以,所以我认为数据库优先也可以。
-
您的
StudentCourses表是否还有其他列?这篇文章似乎建议你如果没有得到想要的行为:learnentityframework.com/LearnEntityFramework/tutorials/… -
@RichardDeeming - 嗯,我没有任何其他有意义的列,但我有一个单独的自动编号 ID 字段。严格来说,如果有必要,我可以进行复合 PK 并删除 ID 字段...
-
根据我的阅读,删除该列是可行的。无论如何,复合 PK 通常是此类表的更好选择。
标签: c# entity-framework entity-framework-5 ef-database-first