crm.core/code/Crm.Core.EntityFramework/CrmDbContext.cs

285 lines
11 KiB
C#

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