static void TestMemDb() { MemDB db = MemDBEngin.GetDB(); List <TestEntity> list = db.Get <TestEntity>(); Console.WriteLine("加载数据 {0}条", list.Count); TestEntity[] entitys = new TestEntity[10000]; for (int i = 0; i < 10000; i++) { entitys[i] = new TestEntity() { ID = i, Name = "Name" + i, AtTime = DateTime.Now }; } bool flag = db.SaveEntity <TestEntity>(entitys); if (flag) { Console.WriteLine("保存数据成功!"); } }
static void SaveEntity <T>(MemDB mem, T[] entitys) where T : EntityBase, new() { bool flag = mem.SaveEntity <T>(entitys); if (flag) { Console.WriteLine("保存数据成功!"); } }
/// <summary> /// 数据导入 /// </summary> /// <param name="mem"></param> /// <param name="dbName"></param> /// <param name="projectID"></param> /// <param name="dataSyncType">提交复核/提交归档</param> private static void ImportData(MemDB mem, string dbName, string projectID) { AdoHelper db = AdoHelper.CreateHelper(dbName); DemoDbContext remoteDbContext = new DemoDbContext(db); SimpleImportEntitys importer = new SimpleImportEntitys(mem, remoteDbContext); importer.Classification = projectID; importer.DoImportData(); }
/// <summary> /// 导入数据至远程作业库(BS端) /// </summary> /// <param name="dbName"></param> /// <param name="projectID"></param> /// <param name="targetDataSource">提交复核/提交归档</param> private static void Import(string dbName, string projectID, string targetDataSource) { string dataSource = MemDBEngin.DbSource; string objDataSource = System.IO.Path.Combine(dataSource, dbName + "_" + projectID); Console.WriteLine("数据源:" + objDataSource); using (MemDB mem = MemDBEngin.GetDB(objDataSource)) { ImportData(mem, targetDataSource, projectID); Console.WriteLine("向目标数据源{0} 导入数据完成", targetDataSource); } }
/// <summary> /// 数据导出 /// </summary> /// <param name="mem"></param> /// <param name="dbName"></param> /// <param name="projectID"></param> /// <returns></returns> private static bool ExportData(MemDB mem, string dbName, string projectID) { AdoHelper db = AdoHelper.CreateHelper(dbName); DemoDbContext localDbContext = new DemoDbContext(db); //导出数据 SimpleExportEntitys ee = new SimpleExportEntitys(mem, localDbContext); ee.ClassificationID = projectID; ee.DoExportData(); Console.WriteLine("AllSucceed:{0},Have Data Table Count:{1}", ee.AllSucceed, ee.HaveDataTableCount); Console.WriteLine("数据文件备份目录:{0}", ee.DataBackFolder); return(ee.AllSucceed && ee.HaveDataTableCount > 0); }
/// <summary> /// 导出数据,返回数据文件路径和成功标记 /// </summary> /// <param name="dbName"></param> /// <param name="projectID"></param> /// <returns></returns> private static Tuple <string, bool> Export(string dbName, string projectID) { string DbPath = string.Empty; bool result; string dataSource = MemDBEngin.DbSource; string objDataSource = System.IO.Path.Combine(dataSource, dbName + "_" + projectID); //在此路径下写入标记文件,如果文件存在表示曾经导出了数据包但是上传导入没有成功,需要再次上传和导入,本次不导出。 //考虑合并没有上传完成的内存数据库数据 using (MemDB mem = MemDBEngin.GetDB(objDataSource)) { result = ExportData(mem, dbName, projectID); Console.WriteLine("数据源{0} 导出数据完成,结果:{1}", dbName, result); DbPath = mem.Path; } return(new Tuple <string, bool>(DbPath, result)); }
/// <summary> /// 以一个内存数据库对象和数据上下文对象初始化本类 /// </summary> /// <param name="mem">内存数据库对象</param> /// <param name="dbContext">数据上下文对象</param> public ImportEntity(MemDB mem, DbContext dbContext) { this.MemDB = mem; this.CurrDbContext = dbContext; dbContext.CheckTableExists <ExportBatchInfo>(); }
public SimpleImportEntitys(MemDB mem, DbContext dbContext) { this.MemDB = mem; this.CurrDbContext = dbContext; }
/// <summary> /// 以一个内存数据库对象和数据上下文对象初始化本类 /// </summary> /// <param name="mem">内存数据库对象</param> /// <param name="dbContext">数据上下文对象</param> public ExportEntity(MemDB mem, DbContext dbContext) { this.MemDB = mem; this.CurrDbContext = dbContext; }
static void ExportEntityData(EntityBase entity, MemDB mem, DemoDbContext dbContext) { Type entityType = entity.GetType(); }
static void ExportEntity <T>(MemDB mem, DemoDbContext dbContext) where T : EntityBase, new() { List <T> entityList = dbContext.QueryAllList <T>(); SaveEntity <T>(mem, entityList.ToArray()); }