/* Update-Database -TargetMigration $InitialDatabase Add-Migration -name FirstMigration -Force -Verbose Add-Migration -name Update03 -Force -Verbose Update-Database */ namespace Vrh.iScheduler.Report { using System.Data.Entity; using Vrh.XmlProcessing; using Lib.Migrations; using System.Data.Entity.ModelConfiguration.Conventions; /// /// iSchedulerReport DBContext osztálya. /// public class SchedulerReportDbContext : DbContext { private static bool m_WasDBMigrationCheck = false; #region Constructors /// /// DBContext példány elkészítése az alapértelmezett kapcsolati sztring név felhasználásával. /// public SchedulerReportDbContext() : this(ActiveConnectionString) //public SchedulerReportDbContext() : this(@"data source = 192.168.77.150\SQLEXPRESS;initial catalog = LearALMNew; user id = sa; password=Vrh@54321;multipleactiveresultsets=True;Connection Timeout = 3600") { Configuration.LazyLoadingEnabled = true; if (!m_WasDBMigrationCheck) { Database.SetInitializer(new MigrateDatabaseToLatestVersion(true)); m_WasDBMigrationCheck = true; } } /// /// DBContext példány elkészítése egy megadott szabványos és érvényes kapcsolati sztring felhasználásával. /// public SchedulerReportDbContext(string connectionString) : base(connectionString) { Configuration.LazyLoadingEnabled = true; if (!m_WasDBMigrationCheck) { Database.SetInitializer(new MigrateDatabaseToLatestVersion(true)); m_WasDBMigrationCheck = true; } } #endregion Constructors protected override void OnModelCreating(DbModelBuilder modelBuilder) { const string SCHEMANAME = "iSchedulerReports"; modelBuilder.HasDefaultSchema(SCHEMANAME); modelBuilder.Conventions.Remove(); try { RegisterConnectionString(ConnectionStringStore.GetSQL(SRConstants.DEFAULT_CONNECTIONSTRINGNAME)); } catch { } } private static string ActiveConnectionString = null; /// /// Egy connectionstring regisztrálása a DBContext-be. A hívás után az /// összes paraméter nélküli konstruktor hívás az itt megadott kapcsolatleíróra vonatkozik. /// /// public static void RegisterConnectionString(string cs) { ActiveConnectionString = cs; } /// /// A report csomagokat tartalmazó táblázat. /// public IDbSet SchedulerReportPackages { get; set; } /// /// Egy report csomag elemeit tartalmazó táblázat. /// public IDbSet SchedulerReportPackageItems { get; set; } } }