/// <summary> /// /// </summary> private void LoadDatabase() { this.mDatabase = new DatabaseSerise().Load(mDatabaseName); this.mRealDatabase = this.mDatabase.RealDatabase; mPrimaryDataPath = this.mDatabase.HisDatabase.Setting.HisDataPathPrimary; mBackDataPath = this.mDatabase.HisDatabase.Setting.HisDataPathBack; }
public IActionResult Index() { var database = new RealDatabase("Server=./S2017E;Database=PetsDatabase;Trusted_Connection=true;"); var pets = database.GetAllPets(); var response = new ListPetsModel(); response.Pets = pets .Select(p => new PetModel() { PetId = p.PetId, Name = p.Name, });
public void GetServerType_returns_OnPremises_for_real_local_test_database() { using (var context = new RealDatabase()) { context.Database.CreateIfNotExists(); var connection = context.Database.Connection; connection.Open(); Assert.Equal(ServerType.OnPremises, SqlVersionUtils.GetServerType(connection)); connection.Close(); } }
public void GetServerType_returns_correct_ServerType_for_real_test_database() { using (var context = new RealDatabase()) { context.Database.CreateIfNotExists(); var connection = context.Database.Connection; connection.Open(); var expectedServerType = DatabaseTestHelpers.IsSqlAzure(connection.ConnectionString) ? ServerType.Cloud : ServerType.OnPremises; Assert.Equal(expectedServerType, SqlVersionUtils.GetServerType(connection)); connection.Close(); } }
public IActionResult Index() { var database = new RealDatabase("Server=.;Database=PetsDatabase;Trusted_Connection=true;"); var pets = database.GetAllPets(); var response = new ListPetsModel(); response.Pets = pets .Select(p => new PetModel() { PetId = p.PetId, Name = p.Name, Age = p.Age, IsSpotted = p.IsSpotted, Color = p.Color }) .ToArray(); return(View(response)); }
/// <summary> /// /// </summary> /// <param name="database"></param> public void Load(string database, string checkKey) { if (database == mDatabaseName) { return; } if (mDriver != null) { mDriver.Stop(); } if (System.IO.Path.IsPathRooted(database)) { this.mDatabaseName = System.IO.Path.GetFileNameWithoutExtension(database); } else { this.mDatabaseName = database; } PathHelper.helper.CheckDataPathExist(); if (CheckDatabaseExist(mDatabaseName) && IsRunInLocal()) { LoggerService.Service.Info("DatabaseRunner", "开始从本地加载数据库:" + mDatabaseName); var mDatabase = new RealDatabaseSerise().LoadByName(mDatabaseName); string skey = mDatabase.Version + mDatabase.UpdateTime; if (skey != checkKey) { LoggerService.Service.Warn("Proxy", "代理使用的数据库和服务器使用的数据库不一致,将从网络进行加载"); this.mRealDatabase = mProxy.LoadRealDatabase(); mSecurityRunner = new SecurityRunner() { Document = mProxy.LoadSecurity() }; } else { this.mRealDatabase = mDatabase; mSecurityRunner = new SecurityRunner() { Document = new SecuritySerise().LoadByName(mDatabaseName) }; } LoggerService.Service.Info("DatabaseRunner", "从本地加载数据库完成"); } else { LoggerService.Service.Info("DatabaseRunner", "开始从远程加载数据库"); this.mRealDatabase = mProxy.LoadRealDatabase(); mSecurityRunner = new SecurityRunner() { Document = mProxy.LoadSecurity() }; LoggerService.Service.Info("DatabaseRunner", "从远程加载数据库完成"); } realEnginer = new RealEnginer(mRealDatabase); realEnginer.Init(); RegistorInterface(); IsReady = true; mDriver = new NetTransformDriver() { Client = mProxy.NetworkClient, WorkMode = mWorkMode, PollCircle = mPollCircle }; mDriver.ValueUpdateEvent += MDriver_ValueUpdateEvent; mProxy.NetworkClient.DatabaseChangedAction = (realchanged, hischanged, securitychanged) => { if (CheckDatabaseExist(mDatabaseName) && IsRunInLocal()) { //Stopwatch sw = new Stopwatch(); //sw.Start(); LoggerService.Service.Info("DatabaseRunner", "开始从本地加载数据库:" + mDatabaseName); if (realchanged) { mDriver.Stop(); var mDatabase = new RealDatabaseSerise().LoadByName(mDatabaseName); this.mRealDatabase = mDatabase; var oldeng = realEnginer; realEnginer = new RealEnginer(this.mRealDatabase); realEnginer.Init(); mDriver.Start(realEnginer); oldeng.Dispose(); } if (securitychanged) { try { if (mSecurityRunner != null) { mSecurityRunner.Stop(); } } catch { } mSecurityRunner.Document = new SecuritySerise().LoadByName(mDatabaseName); mSecurityRunner.Start(); } RegistorInterface(); //sw.Stop(); LoggerService.Service.Info("DatabaseRunner", "从本地加载数据库完成"); } else { //Stopwatch sw = new Stopwatch(); //sw.Start(); if (realchanged) { mDriver.Stop(); LoggerService.Service.Info("DatabaseRunner", "开始从远程加载数据库"); //通过远程下载数据库 this.mRealDatabase = mProxy.LoadRealDatabase(); var oldeng = realEnginer; realEnginer = new RealEnginer(this.mRealDatabase); realEnginer.Init(); mDriver.Start(realEnginer); oldeng.Dispose(); LoggerService.Service.Info("DatabaseRunner", "从远程加载数据库完成"); } if (securitychanged) { LoggerService.Service.Info("DatabaseRunner", "开始从远程加载安全配置"); try { if (mSecurityRunner != null) { mSecurityRunner.Stop(); } } catch { } mSecurityRunner.Document = mProxy.LoadSecurity(); mSecurityRunner.Start(); LoggerService.Service.Info("DatabaseRunner", "从远程加载安全配置完成"); } RegistorInterface(); //sw.Stop(); } }; mSecurityRunner.Start(); mDriver.Start(realEnginer); }