【发布时间】:2011-07-07 11:09:56
【问题描述】:
我是 asp.net、mvc3 和实体框架的新手。 我正在尝试使用实体框架和代码优先开发一个 mvc3 程序。 所以我有两个具有多对多关系的类。
一个名为“User”的类,另一个是“Course”。
public class Course : IValidatableObject
{
[...]
public virtual ICollection<User> Users { get; set; }
[...]
}
public class User : IValidatableObject
{
[...]
public virtual ICollection<Course> Courses { get; set; }
[...]
}
所以,这行得通。但现在我需要一个额外的字段来保护课程注册的状态。 有没有我不知道的简单方法?
我是这样尝试的:
public class Course : IValidatableObject
{
[...]
public virtual ICollection<CourseUser> CourseUsers { get; set; }
[...]
}
public class User : IValidatableObject
{
[...]
public virtual ICollection<CourseUser> CourseUsers { get; set; }
[...]
}
public class CourseUser
{
[Key, ForeignKey("Course"), Column(Order = 0)]
public int Course_ID { get; set; }
[Key, ForeignKey("User"), Column(Order = 1)]
public string User_ID { get; set; }
public int Status { get; set; } //{ pending, approved }
public virtual Course Course { get; set; }
public virtual User User { get; set; }
}
但这使得添加或编辑相关数据变得更加困难。
例如,我还没有管理它来自动将创建课程的用户添加到CourseUsers 表中。
【问题讨论】:
标签: c# asp.net-mvc-3 entity-framework-4 many-to-many ef-code-first