Guest User

Untitled

a guest
Jul 16th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. RenameColumn(table: "dbo.Users", name: "ImageLargeId", newName: "__mig_tmp__0");
  2. RenameColumn(table: "dbo.Users", name: "ImageSmallId", newName: "ImageLargeId");
  3. RenameColumn(table: "dbo.Users", name: "__mig_tmp__0", newName: "ImageSmallId");
  4. RenameIndex(table: "dbo.Users", name: "IX_ImageLargeId", newName: "__mig_tmp__0");
  5. RenameIndex(table: "dbo.Users", name: "IX_ImageSmallId", newName: "IX_ImageLargeId");
  6. RenameIndex(table: "dbo.Users", name: "__mig_tmp__0", newName: "IX_ImageSmallId");
  7.  
  8. public class BugContext : DbContext
  9. {
  10. public virtual DbSet<Image> Images { get; set; }
  11. public virtual DbSet<User> Users { get; set; }
  12.  
  13. // BUG: Enable/disable this part will generate a invalid migration file
  14. //public virtual DbSet<UserSettings> UserSettings { get; set; }
  15. //public virtual DbSet<UserRights> UserRights { get; set; }
  16.  
  17. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  18. {
  19. modelBuilder.Entity<User>().ToTable("Users");
  20. modelBuilder.Entity<UserSettings>().ToTable("Users");
  21. modelBuilder.Entity<UserRights>().ToTable("Users");
  22.  
  23. modelBuilder.Entity<User>().HasOptional(user => user.ImageSmall).WithMany(image => image.User_ImageSmalls);
  24. modelBuilder.Entity<User>().HasOptional(user => user.ImageLarge).WithMany(image => image.User_ImageLarges);
  25.  
  26. modelBuilder.Entity<User>().HasRequired(user => user.Settings).WithRequiredPrincipal(userSettings => userSettings.User);
  27. modelBuilder.Entity<User>().HasRequired(user => user.Rights).WithRequiredPrincipal(userRights => userRights.User);
  28. }
  29. }
  30.  
  31. public class Image
  32. {
  33. [Key]
  34. public Guid Id { get; set; }
  35.  
  36. public virtual ICollection<User> User_ImageSmalls { get; set; }
  37. public virtual ICollection<User> User_ImageLarges { get; set; }
  38. }
  39.  
  40. public class User
  41. {
  42. [Key]
  43. public Guid Id { get; set; }
  44.  
  45. [Required]
  46. [MaxLength(256)]
  47. public string Name { get; set; }
  48.  
  49. public Guid? ImageSmallId { get; set; }
  50. public virtual Image ImageSmall { get; set; }
  51.  
  52. public Guid? ImageLargeId { get; set; }
  53. public virtual Image ImageLarge { get; set; }
  54.  
  55. public virtual UserSettings Settings { get; set; }
  56. public virtual UserRights Rights { get; set; }
  57. }
  58.  
  59. public class UserSettings
  60. {
  61. [Key]
  62. public Guid Id { get; set; }
  63.  
  64. [ForeignKey(nameof(Id))]
  65. public virtual User User { get; set; }
  66.  
  67. public bool DarkTheme { get; set; }
  68. }
  69.  
  70. public class UserRights
  71. {
  72. [Key]
  73. public Guid Id { get; set; }
  74.  
  75. [ForeignKey(nameof(Id))]
  76. public virtual User User { get; set; }
  77.  
  78. public bool Admin { get; set; }
  79. }
Add Comment
Please, Sign In to add comment