BaseDbContextModelCreatingExtensions.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using BaseService.BaseData;
  2. using BaseService.Systems;
  3. using Microsoft.EntityFrameworkCore;
  4. using Volo.Abp;
  5. using Volo.Abp.EntityFrameworkCore.Modeling;
  6. namespace BaseService.EntityFrameworkCore
  7. {
  8. public static class BaseDbContextModelCreatingExtensions
  9. {
  10. public static void ConfigureBaseService(this ModelBuilder builder)
  11. {
  12. Check.NotNull(builder, nameof(builder));
  13. builder.Entity<DataDictionary>(b =>
  14. {
  15. b.ToTable("base_dict");
  16. b.ConfigureByConvention();
  17. b.Property(x => x.Name).IsRequired().HasMaxLength(BaseServiceConsts.MaxNameLength);
  18. b.Property(x => x.Description).HasMaxLength(BaseServiceConsts.MaxNotesLength);
  19. b.Property(x => x.IsDeleted).HasDefaultValue(false);
  20. b.HasIndex(q => q.Name);
  21. });
  22. builder.Entity<DataDictionaryDetail>(b =>
  23. {
  24. b.ToTable("base_dict_details");
  25. b.ConfigureByConvention();
  26. b.Property(x => x.Label).IsRequired().HasMaxLength(BaseServiceConsts.MaxNameLength);
  27. b.Property(x => x.Value).IsRequired().HasMaxLength(BaseServiceConsts.MaxNotesLength);
  28. b.Property(x => x.IsDeleted).HasDefaultValue(false);
  29. b.HasIndex(q => q.Pid);
  30. });
  31. builder.Entity<Organization>(b =>
  32. {
  33. b.ToTable("base_orgs");
  34. b.ConfigureByConvention();
  35. b.Property(x => x.Name).IsRequired().HasMaxLength(BaseServiceConsts.MaxNameLength);
  36. b.Property(x => x.FullName).IsRequired().HasMaxLength(BaseServiceConsts.MaxFullNameLength);
  37. b.Property(x => x.CascadeId).HasMaxLength(BaseServiceConsts.MaxNotesLength);
  38. b.Property(x => x.Enabled).HasDefaultValue(false);
  39. b.HasIndex(q => q.Pid);
  40. });
  41. builder.Entity<Job>(b =>
  42. {
  43. b.ToTable("base_jobs");
  44. b.ConfigureByConvention();
  45. b.Property(x => x.Name).IsRequired().HasMaxLength(BaseServiceConsts.MaxNameLength);
  46. b.Property(x => x.Description).HasMaxLength(BaseServiceConsts.MaxNotesLength);
  47. });
  48. builder.Entity<UserJob>(b =>
  49. {
  50. b.ToTable("base_user_jobs");
  51. b.HasKey(k => new { k.UserId, k.JobId });
  52. });
  53. builder.Entity<UserOrganization>(b =>
  54. {
  55. b.ToTable("base_user_orgs");
  56. b.HasKey(k => new { k.UserId, k.OrganizationId });
  57. });
  58. builder.Entity<Menu>(b =>
  59. {
  60. b.ToTable("base_menu");
  61. b.ConfigureByConvention();
  62. b.Property(x => x.Name).IsRequired().HasMaxLength(BaseServiceConsts.MaxNameLength);
  63. b.Property(x => x.Path).HasMaxLength(BaseServiceConsts.MaxNotesLength);
  64. b.Property(x => x.Component).HasMaxLength(BaseServiceConsts.MaxNotesLength);
  65. b.Property(x => x.Permission).HasMaxLength(BaseServiceConsts.MaxNotesLength);
  66. b.Property(x => x.Icon).HasMaxLength(BaseServiceConsts.MaxFullNameLength);
  67. b.Property(x => x.Label).IsRequired().HasMaxLength(BaseServiceConsts.MaxFullNameLength);
  68. });
  69. builder.Entity<RoleMenu>(b =>
  70. {
  71. b.ToTable("base_role_menu");
  72. b.HasKey(k => new { k.RoleId, k.MenuId });
  73. });
  74. }
  75. }
  76. }