Advertisement
Guest User

Untitled

a guest
Apr 16th, 2014
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. public class Calendar
  2. {
  3. [Key]
  4. [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
  5. public Guid ID { get; set; }
  6.  
  7.  
  8. public virtual IList<Appointment> FreeSlots { get; set; }
  9. public virtual IList<Appointment> AppointmentsList { get; set; }
  10. ...
  11. }
  12.  
  13. public class Appointment
  14. {
  15. [Key]
  16. [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
  17. public int AppointmentID { get; set; }
  18. public DateTime Start { get; set; }
  19. public DateTime End { get; set; }
  20. public String Type { get; set; }
  21. public String Info { get; set; }
  22. public Guid CalendarID { get; set; }
  23. public virtual Calendar Calendar { get; set; }
  24. }
  25.  
  26. modelBuilder.Entity<Appointment>().HasKey(u => new {u.AppointmentID, u.CalendarID });
  27. modelBuilder.Entity<Appointment>().HasRequired(u => u.Calendar).WithMany(c => c.FreeSlots).HasForeignKey(f => f.CalendarID).WillCascadeOnDelete(true);
  28. modelBuilder.Entity<Appointment>().HasRequired(u => u.Calendar).WithMany(c => c.AppointmentsList).HasForeignKey(f => f.CalendarID).WillCascadeOnDelete(true);
  29.  
  30. modelBuilder.Entity<Appointment>().HasKey(u => new {u.AppointmentID, u.CalendarID });
  31. modelBuilder.Entity<Calendar>().HasMany(c => c.FreeSlots).WithRequired(c => c.Calendar).HasForeignKey(c => c.CalendarID).WillCascadeOnDelete();
  32. modelBuilder.Entity<Calendar>().HasMany(c => c.AppointmentsList).WithRequired(c => c.Calendar).HasForeignKey(c => c.CalendarID).WillCascadeOnDelete();
  33.  
  34. modelBuilder.Entity<Calendar>()
  35. .HasMany(c => c.FreeSlots)
  36. .WithRequired(c => c.Calendar1)
  37. .HasForeignKey(c => c.Calendar1ID)
  38. .WillCascadeOnDelete(false);
  39.  
  40. modelBuilder.Entity<Calendar>()
  41. .HasMany(c => c.AppointmentsList)
  42. .WithRequired(c => c.Calendar2)
  43. .HasForeignKey(c => c.Calendar2ID)
  44. .WillCascadeOnDelete(true);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement