Я строю систему бронирования. У меня есть пользователи в ролях («администратор», «клиент», «работник», «студент»).
Каждое резервирование должно быть связано с пользователем клиента роли, оно может быть назначено пользователю сотрудника роли, а также может быть назначено пользователю студента роли.
Таким образом, в моем классе резервирования у меня есть свойства типа User, и я пометил их атрибутом [ForeignKey ("AnytypeId")] для подсказки EF для отношений.
Я видел такой код на http://blog.stevensanderson.com/2011/01/28/mvcscaffolding-one-to-many-relationships/
public class Reservation
{
public int ReservationID
{
get;
set;
}
[Required(ErrorMessage="Please provide a valid date")]
public DateTime ReservationDate
{
get;
set;
}
public DateTime ReservationEnd { get; set; }
public DateTime EntryDate
{
get;
set;
}
public DateTime UpdatedOn
{
get;
set;
}
public decimal Ammount
{
get;
set;
}
public decimal? Discount { get; set; }
[DataType(DataType.MultilineText)]
public string ServiceDetails { get; set; }
[DataType(DataType.MultilineText)]
public string Remarks { get; set; }
public String PaymentMethod { get; set; }
public string VoucherNumber { get; set; }
public int ServiceID
{
get;
set;
}
public virtual Service Service
{
get;
set;
}
public string EmployeeID { get; set; }
[ForeignKey("EmployeeID")]
public virtual User Employee { get; set; }
public string ClientID { get; set; }
[ForeignKey("ClientID")]
public virtual User Client { get; set; }
public string StudentID { get; set; }
[ForeignKey("StudentID")]
public virtual User Student { get; set; }
}
public class ReservationMap : EntityTypeConfiguration<Reservation>
{
public ReservationMap()
{
this.HasOptional(r => r.Client).WithMany().WillCascadeOnDelete(true);
this.HasOptional(r => r.Employee).WithMany().WillCascadeOnDelete(false);
this.HasOptional(r=>r.Student).WithMany().WillCascadeOnDelete(false);
}
}
Теперь, когда я запускаю свой код mvc3 EF, первая база данных приложений, созданная для меня на лету, со следующей моделью ERD и edmx.
Теперь у меня мало проблем:
1. Когда я перечисляю всех пользователей ролевых клиентов в поле зрения, их свойство резервирования всегда показывает 0, даже если их резервирование доступно в базе данных. Я не знаю, почему это свойство коллекции, помеченное как виртуальное, не загружается ??
Пожалуйста, я застрял с этим, помогите мне здесь, это последнее, что осталось.