我在我的MVC项目中使用Code First appraoch。为了简单起见,我有两个classes Course
和Modules
,其中实体之间存在多对多关系。这是我的类EntityFramework和MVC中的多对多关系
public class Course
{
public int CourseId { get; set; }
public string Title { get; set; }
public virtual ICollection<Module> Modules { get; set;
}
public class Module
{
public int ModuleId { get; set; }
public string Title { get; set; }
public int Credits { get; set; }
public virtual ICollection<Course> Courses {get;set;
}
我创建了两个控制器,用于各自使用的EntityFramework其中每个控制器为每个类创建表的结构。现在拥有多对多的关系,EF足够聪明,可以为我创建第三个交叉表。 CourseModule(FK_Course_ID, FK_ModuleID)
。但问题是这个表没有被填充相应表中的键。它是空白的。任何人都可以请帮助我,我怎么能弄明白?
谢谢。
我们能否在您尝试保存课程/模块的地方看到您的代码? – Seany84 2013-03-21 15:19:22
可能相关,但您的POCO类中的* all *属性应该定义为'vitual',以便实体框架为它们生成代理类。请参阅http://msdn.microsoft.com/en-us/library/vstudio/dd468057(v=vs.100).aspx – 2013-03-21 16:33:41
这是否有任何更新? – Seany84 2013-03-28 16:46:02