Я новичок в asp.net, mvc3 и сущности.
Я пытаюсь разработать программу для mvc3 с помощью Entity Framework и Code-First.
Итак, у меня есть два класса с отношением «многие ко многим».
Один класс называется «Пользователь», другой - «Курс».
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
.