我首先使用.Net 4.5,实体框架5,数据库。我的数据库中有一个联结(多对多)表。对于这个例子,假设表格是“StudentsCourses”:
Students
-PkStudentId
-Name
Courses
-PkCourseId
-CourseNumber
StudentsCourses
-FkStudentId
-FkCourseId
这现在工作得很好。“从数据库生成模型”创建一个 Student 实体,该实体具有指向 Course 实体的导航属性。但问题出在这:
我需要在 StudentCourses 表中添加另一列。让我们将此列称为“CourseYear”。所以我们的连接表现在看起来像这样:
StudentsCourses
-FkStudentId
-FkCourseId
-CourseYear
因此,我已将此列添加到数据库并在 edmx 上运行“从数据库更新模型”。我希望看到为 StudentCourses 创建的实体,该实体具有指向 Student 和 Courses 的导航属性。但是没有创建这样的实体。我仍然看到与以前具有相同导航属性的两个表(学生和课程)。
我做了很多阅读和研究,但还没有真正找到明确的答案。有大量关于代码优先的信息,我无法应用于我的场景。有没有办法得到我所追求的?是否像在 StudentCourses 表中添加 PkId 一样简单?SQL 复制阻止我这样做。我认为复合材料就足够了,但也许 EF 需要一个 PK 才能发挥它的魔力?我阅读了一些关于手动设置关系的内容,但找不到任何与我的特定情况相关的内容。可能是我在从数据库更新 edmx 的过程中遗漏了一个简单的步骤。我已经这样做了很多次:添加新表,添加列,删除列等。我遵循与往常相同的步骤,
提前感谢您的帮助。非常感谢。如果有更多信息有帮助,请告诉我。