using Crm.Core.Entity.Crm; using Crm.Core.Entity.MsgTool; using DG.EntityFramework; using Microsoft.EntityFrameworkCore.Diagnostics; namespace Crm.Core.EntityFramework { public class CrmDbContext : OracleDbContext { public CrmDbContext(DbContextOptions options, IServiceProvider serviceProvider, IConfiguration configuration) : base(options, serviceProvider, configuration) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasOne(b => b.WW_EXTUSER) .WithMany(x => x.WW_EXTUSER_RESID) .HasForeignKey(b => b.USERID); modelBuilder.Entity() .HasOne(b => b.WW_HHUSER_EID) .WithMany(x => x.WW_HHUSER) .HasForeignKey(b => b.USERID); modelBuilder.Entity() .HasOne(b => b.WW_CORP_APP) .WithMany(x => x.Users) .HasForeignKey(b => b.CORPID); modelBuilder.Entity() .HasOne(b => b.RES_CUSTOMERDETAIL) .WithOne(i => i.RES_CUSTOMER) .HasForeignKey(b => b.RESID); modelBuilder.Entity() .HasOne(b => b.BAS_INNERUSERGROUP) .WithOne(i => i.BAS_INNERUSER) .HasForeignKey(b => b.INNERUSERID) .HasPrincipalKey(x => x.PKID); modelBuilder.Entity() .HasOne(x => x.BAS_INNERUSER) .WithMany(x => x.BAS_GROUPLEADER) .HasForeignKey(x => x.INNERUSERID); modelBuilder.Entity() .HasOne(x => x.BAS_INNERGROUP) .WithMany(x => x.BAS_GROUPLEADER) .HasForeignKey(x => x.INNERGROUPID); modelBuilder.Entity() .HasOne(x => x.BAS_INNERUSER) .WithMany(x => x.BAS_INNERUSERROLE) .HasForeignKey(x => x.INNERUSERID); modelBuilder.Entity() .HasOne(x => x.BAS_ROLE) .WithOne(x => x.BAS_INNERUSERROLE) .HasForeignKey(x => x.ROLEID); modelBuilder.Entity() .HasOne(x => x.BAS_INNERDEPARTMENT) .WithMany(x => x.BAS_INNERUSERGROUP) .HasForeignKey(x => x.GID); modelBuilder.Entity() .HasOne(x => x.BAS_INNERGROUP) .WithMany(x => x.BAS_INNERUSERGROUP) .HasForeignKey(x => x.GID); modelBuilder.Entity() .HasOne(x => x.BAS_BUSINESSLINES) .WithMany(x => x.BAS_BUSINESSDEPARTMENT) .HasForeignKey(x => x.BUSINESSID); modelBuilder.Entity() .HasOne(x => x.BAS_BUSINESSDEPARTMENT) .WithOne(x => x.BAS_INNERUSERGROUP) .HasForeignKey(x => x.DEPTID) .HasPrincipalKey(x => x.DEPTID); modelBuilder.Entity() .HasOne(x => x.BAS_SALESDEPARTMENT) .WithMany(x => x.BAS_INNERUSERGROUP) .HasForeignKey(x => x.DEPTID); modelBuilder.Entity() .HasMany(x => x.BAS_INNERGROUP) .WithOne(x => x.BAS_SALESDEPARTMENT) .HasForeignKey(x => x.SALEDEPTID); modelBuilder.Entity() .HasOne(x => x.BAS_BUSINESSDEPARTMENT) .WithOne(x => x.BAS_SALESDEPARTMENT) .HasForeignKey(x => x.DEPTID); modelBuilder.Entity() .HasMany(x => x.BAS_INNERGROUP) .WithOne(x => x.BAS_INNERDEPARTMENT) .HasForeignKey(x => x.DEPTID); modelBuilder.Entity() .HasOne(x => x.BAS_COMPANY) .WithMany(x => x.BAS_SALESDEPARTMENT) .HasForeignKey(x => x.COMPANYID); modelBuilder.Entity() .HasOne(x => x.RES_CUSTOMER) .WithOne(x => x.RES_RESOURCEMOBILE) .HasForeignKey(x => x.RESID); modelBuilder.Entity() .HasOne(x => x.CACHE_ORD_MEMO) .WithOne(x => x.ORD_MEMOTYPE) .HasForeignKey(x => x.MEMOTYPEID); modelBuilder.Entity() .HasOne(x => x.CACHE_ORD_MEMO) .WithOne(x => x.ORD_MEMOCONTENT) .HasForeignKey(x => x.MEMOCONTENTID); modelBuilder.Entity() .HasOne(x => x.ORD_MEMOTYPE) .WithMany(x => x.ORD_MEMOSUBTYPE) .HasForeignKey(x => x.MEMOTYPEID); modelBuilder.Entity() .HasOne(x => x.CACHE_ORD_MEMO) .WithOne(x => x.ORD_MEMOSUBTYPE) .HasForeignKey(x => x.MEMOSUBTYPEID); modelBuilder.Entity() .HasOne(x => x.CACHE_ORD_MEMO) .WithOne(x => x.BAS_INNERUSER) .HasForeignKey(x => x.INNERUSERID); modelBuilder.Entity() .HasOne(x => x.CSVR_CALLRECORD) .WithOne(x => x.BAS_INNERUSER) .HasForeignKey(x => x.SALESEID) .HasPrincipalKey(x => x.EID); modelBuilder.Entity().HasKey(t => new { t.USERID, t.RESID }); modelBuilder.Entity().HasKey(t => new { t.INNERUSERID, t.INNERGROUPID }); #region MsgTool modelBuilder.Entity() .HasOne(x => x.MsgToolPlan) .WithMany(x => x.MsgToolPlanReceives) .HasForeignKey(x => x.PLANID); modelBuilder.Entity() .HasOne(x => x.MsgToolPlan) .WithMany(x => x.MsgToolTasks) .HasForeignKey(x => x.PLANID); modelBuilder.Entity() .HasOne(x => x.MsgToolTask) .WithMany(x => x.MsgToolTaskCmds) .HasForeignKey(x => x.TASKID); modelBuilder.Entity() .HasOne(x => x.MsgToolTaskCmd) .WithMany(x => x.MsgToolTaskCmdDetails) .HasForeignKey(x => x.CMDID); #endregion MsgTool base.OnModelCreating(modelBuilder); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.ConfigureWarnings(b => b.Ignore(CoreEventId.ContextInitialized)); base.OnConfiguring(optionsBuilder); } public DbSet BAS_GROUPLEADER { get; set; } public DbSet BAS_COMPANY { get; set; } public DbSet BAS_NOTIFICATION { get; set; } public DbSet BAS_NOTIFICATION_STATISTICS { get; set; } public DbSet BAS_PARAMETER { get; set; } public DbSet WW_EXTUSER { get; set; } public DbSet WW_EXTUSER_RESID { get; set; } public DbSet RES_CUSTOMER { get; set; } public DbSet RES_CUSTOMERDETAIL { get; set; } public DbSet RES_CUSTOMER_BEST { get; set; } public DbSet RES_CUSTOMERUSER { get; set; } public DbSet RES_RESOURCEMOBILE { get; set; } public DbSet WW_CORP_APP { get; set; } public DbSet WW_HHUSER { get; set; } public DbSet WW_HHUSER_EID { get; set; } public DbSet BAS_BUSINESSDEPARTMENT { get; set; } public DbSet BAS_INNERDEPARTMENT { get; set; } public DbSet BAS_INNERGROUP { get; set; } public DbSet BAS_INNERUSER { get; set; } public DbSet BAS_INNERUSERGROUP { get; set; } public DbSet BAS_INNERUSERROLE { get; set; } public DbSet BAS_SALESDEPARTMENT { get; set; } public DbSet BAS_ROLE { get; set; } public DbSet BAS_ROLERIGHTRESOURCE { get; set; } public DbSet BAS_RIGHTGROUP { get; set; } public DbSet BAS_RIGHT { get; set; } public DbSet CSVR_CALLRECORD { get; set; } public DbSet BAS_SUBCOMTYPE { get; set; } public DbSet CACHE_ORD_MEMO { get; set; } public DbSet ORD_MEMOCONTENT { get; set; } public DbSet ORD_MEMOSUBTYPE { get; set; } public DbSet ORD_MEMOTYPE { get; set; } public DbSet CSVR_TODAYRECORD { get; set; } public DbSet ORD_SPECIALMEMO { get; set; } public DbSet ORD_PURPOSEMEMO { get; set; } public DbSet ORD_SERVICEMEMO { get; set; } public DbSet ORD_SALEMEMO { get; set; } public DbSet RES_CUSTOMERQW { get; set; } public DbSet RES_MYALLOCATERES { get; set; } public DbSet CACHE_RES_RESOURCE_COUNT { get; set; } public DbSet RES_CUSTOMERQW_EID { get; set; } public DbSet MsgToolTask { get; set; } public DbSet MsgToolTaskCmdDetail { get; set; } public DbSet MsgToolTaskCmd { get; set; } public DbSet MsgToolPlanReceive { get; set; } public DbSet MsgToolPlan { get; set; } public DbSet MsgToolTaskLabDetail { get; set; } public DbSet MsgToolTaskKFDetail { get; set; } public DbSet EmployeeDepartmentDetail { get; set; } //public DbSet EmployeeDepartment { get; set; } public DbSet WX_SZZYORDER { get; set; } public DbSet WX_SZZYSUBPRODUCT { get; set; } public DbSet WX_SZZYSUBPRODUCT_GIFT { get; set; } public DbSet WX_ORDERACTIVE { get; set; } public DbSet SOFT_USER { get; set; } public DbSet WX_SZZYMIDPRODUCT { get; set; } public DbSet WX_SZZYPRODUCT { get; set; } public DbSet WX_COMMISSIONRULE { get; set; } public DbSet WX_ORDEREXT { get; set; } public DbSet WX_SZZYORDERDEPOSIT { get; set; } } }