Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Calendar
- {
- [Key]
- [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
- public Guid ID { get; set; }
- public virtual IList<Appointment> FreeSlots { get; set; }
- public virtual IList<Appointment> AppointmentsList { get; set; }
- ...
- }
- public class Appointment
- {
- [Key]
- [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
- public int AppointmentID { get; set; }
- public DateTime Start { get; set; }
- public DateTime End { get; set; }
- public String Type { get; set; }
- public String Info { get; set; }
- public Guid CalendarID { get; set; }
- public virtual Calendar Calendar { get; set; }
- }
- modelBuilder.Entity<Appointment>().HasKey(u => new {u.AppointmentID, u.CalendarID });
- modelBuilder.Entity<Appointment>().HasRequired(u => u.Calendar).WithMany(c => c.FreeSlots).HasForeignKey(f => f.CalendarID).WillCascadeOnDelete(true);
- modelBuilder.Entity<Appointment>().HasRequired(u => u.Calendar).WithMany(c => c.AppointmentsList).HasForeignKey(f => f.CalendarID).WillCascadeOnDelete(true);
- modelBuilder.Entity<Appointment>().HasKey(u => new {u.AppointmentID, u.CalendarID });
- modelBuilder.Entity<Calendar>().HasMany(c => c.FreeSlots).WithRequired(c => c.Calendar).HasForeignKey(c => c.CalendarID).WillCascadeOnDelete();
- modelBuilder.Entity<Calendar>().HasMany(c => c.AppointmentsList).WithRequired(c => c.Calendar).HasForeignKey(c => c.CalendarID).WillCascadeOnDelete();
- modelBuilder.Entity<Calendar>()
- .HasMany(c => c.FreeSlots)
- .WithRequired(c => c.Calendar1)
- .HasForeignKey(c => c.Calendar1ID)
- .WillCascadeOnDelete(false);
- modelBuilder.Entity<Calendar>()
- .HasMany(c => c.AppointmentsList)
- .WithRequired(c => c.Calendar2)
- .HasForeignKey(c => c.Calendar2ID)
- .WillCascadeOnDelete(true);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement