BOContext.decl.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Microsoft.EntityFrameworkCore;
  2. namespace BO.AppServer.Data.Entity
  3. {
  4. public partial class BOContext
  5. {
  6. partial void OnModelCreatingPartial(ModelBuilder modelBuilder)
  7. {
  8. modelBuilder.Entity<Workspace>(entity =>
  9. {
  10. // WORKAROUND temporary solution for keyless entity
  11. //modelBuilder.Entity<UserWorkspace>()
  12. // .HasAlternateKey(x => x.Id);
  13. modelBuilder.Entity<UserWorkspace>()
  14. .HasKey(t => new { t.WorkspaceId, t.UserId });
  15. modelBuilder.Entity<UserWorkspace>()
  16. .HasOne(am => am.User)
  17. .WithMany(a => a.UserWorkspaces)
  18. .HasForeignKey(am => am.UserId).HasConstraintName("REL_BillingInfo_User");
  19. modelBuilder.Entity<UserWorkspace>()
  20. .HasOne(am => am.Workspace)
  21. .WithMany(m => m.UserWorkspaces)
  22. .HasForeignKey(am => am.WorkspaceId).HasConstraintName("REL_BillingInfo_Workspace");
  23. //modelBuilder.Entity<BillingInfo>().Metadata.AddIgnored("Workspace");
  24. modelBuilder.Entity<Workspace>().HasOne(d => d.BillingInfo)
  25. .WithOne(p => p.Workspace)
  26. .HasForeignKey<BillingInfo>(a => a.WorkspaceId)
  27. .OnDelete(DeleteBehavior.NoAction)
  28. .HasConstraintName("REL_Workspace_BillingInfo");
  29. }
  30. );
  31. }
  32. }
  33. }