使用数据库优先模型:假设我们有经典表 Student
、Course
和 StudentCourse
(后者显然有 FKs 到 学生
和类(class)
)。
如果将此模型导入 EF,您将获得为每个模型生成的对象。 Student
和 Course
类都有一个 StudentCourses
集合,您需要从中跳转另一个关系才能到达 Course
或 Student
。
我希望以底层交集表不可见的方式生成代码,即 Student
具有 Courses
的集合,而 Course
有一个 Students
的集合。我在其他 ORM 软件(特别是 TopLink )中看到过这样做。可以在 EF 中完成吗?
最佳答案
根据 this tutorial ,如果您的 StudentCourse
表仅包含外键列,您将获得所需的行为。如果它包含任何其他列,EF 将生成一个中间实体来表示连接。
在这种情况下,从 StudentCourse
表中删除代理键并将其替换为复合主键应该可行。
关于c# - Entity Framework 可以在没有交集对象的情况下处理多对多关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588574/