| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System.Data.Common;
- using System.Data.Entity;
- using System.Data.Entity.ModelConfiguration.Conventions;
- using WeOnlineApp.Authorization.Roles;
- using WeOnlineApp.Authorization.Users;
- using WeOnlineApp.BaseInfo;
- using WeOnlineApp.MultiTenancy;
- using IwbZero.EntityFramework;
- using WeOnlineApp.Basic;
- using WeOnlineApp.Question;
- using WeOnlineApp.TrainingCamp;
- namespace WeOnlineApp.EF
- {
- public class WeOnlineAppDbContext : IwbZeroDbContext<Tenant, Role, User>
- {
- //TODO: Define an IDbSet for your Entities...
- public IDbSet<SubjectCategoryInfo> SubjectCategoryInfos { get; set; }
- public IDbSet<CampInfo> CampInfos { get; set; }
- public IDbSet<CampPlayInfo> CampPlayInfos { get; set; }
- public IDbSet<CampPlayScoreInfo> CampPlayScoreInfos { get; set; }
- public IDbSet<CampPlayLogInfo> CampPlayLogInfos { get; set; }
- public IDbSet<CampPlayUserInfo> CampPlayUserInfos { get; set; }
- public IDbSet<CampSceneMapInfo> CampSceneMapInfos { get; set; }
- public IDbSet<QuestionInfo> QuestionInfos { get; set; }
- public IDbSet<QuestionFavoriteInfo> QuestionFavoriteInfos { get; set; }
- public IDbSet<QuestionAnswerInfo> QuestionAnswerInfos { get; set; }
- /* NOTE:
- * Setting "Default" to base class helps us when working migration commands on Package Manager Console.
- * But it may cause problems when working Migrate.exe of EF. If you will apply migrations on command line, do not
- * pass connection string name to base classes. ABP works either way.
- */
- public IDbSet<SysAttachFile> SysAttachFiles { get; set; }
- public IDbSet<SysState> SysStates { get; set; }
- public IDbSet<SysFunction> SysFunctions { get; set; }
- public IDbSet<SysHelp> SysHelps { get; set; }
- public WeOnlineAppDbContext()
- : base("Default")
- {
- }
- /* NOTE:
- * This constructor is used by ABP to pass connection string defined in WeOnlineAppDataModule.PreInitialize.
- * Notice that, actually you will not directly create an instance of WeOnlineAppDbContext since ABP automatically handles it.
- */
- public WeOnlineAppDbContext(string nameOrConnectionString)
- : base(nameOrConnectionString)
- {
- }
- //This constructor is used in tests
- public WeOnlineAppDbContext(DbConnection existingConnection)
- : base(existingConnection, false)
- {
- }
- public WeOnlineAppDbContext(DbConnection existingConnection, bool contextOwnsConnection)
- : base(existingConnection, contextOwnsConnection)
- {
- }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
- //---关闭级联删除
- // 禁用一对多级联删除
- modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
- // 禁用多对多级联删除
- modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
- }
- }
- }
|