Beispiel #1
0
        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("保存数据成功!");
            }
        }
Beispiel #2
0
        static void SaveEntity <T>(MemDB mem, T[] entitys) where T : EntityBase, new()
        {
            bool flag = mem.SaveEntity <T>(entitys);

            if (flag)
            {
                Console.WriteLine("保存数据成功!");
            }
        }
Beispiel #3
0
        /// <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();
        }
Beispiel #4
0
        /// <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);
            }
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
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));
        }
Beispiel #7
0
 /// <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>();
 }
Beispiel #8
0
 public SimpleImportEntitys(MemDB mem, DbContext dbContext)
 {
     this.MemDB         = mem;
     this.CurrDbContext = dbContext;
 }
Beispiel #9
0
 /// <summary>
 /// 以一个内存数据库对象和数据上下文对象初始化本类
 /// </summary>
 /// <param name="mem">内存数据库对象</param>
 /// <param name="dbContext">数据上下文对象</param>
 public ExportEntity(MemDB mem, DbContext dbContext)
 {
     this.MemDB         = mem;
     this.CurrDbContext = dbContext;
 }
Beispiel #10
0
 static void ExportEntityData(EntityBase entity, MemDB mem, DemoDbContext dbContext)
 {
     Type entityType = entity.GetType();
 }
Beispiel #11
0
        static void ExportEntity <T>(MemDB mem, DemoDbContext dbContext) where T : EntityBase, new()
        {
            List <T> entityList = dbContext.QueryAllList <T>();

            SaveEntity <T>(mem, entityList.ToArray());
        }