/// <summary> /// 获取引擎实例,实例保存在系统缓存工厂中 /// </summary> /// <param name="source">要持久化的对象数据保存的路径</param> /// <returns></returns> public static MemDB GetDB(string source) { MemDB result = CacheProviderFactory.GetCacheProvider().Get <MemDB>(source, () => { MemDB db = new MemDB(source); db.AutoSaveData(); return(db); }, new System.Runtime.Caching.CacheItemPolicy() { SlidingExpiration = new TimeSpan(0, 2, 0), //距离上次调用10分钟后过期 RemovedCallback = args => { MemDB db = (MemDB)args.CacheItem.Value; db.TurnOff(); } } ); return(result); }
/// <summary> /// 以一个内存数据库对象和数据上下文对象初始化本类 /// </summary> /// <param name="mem">内存数据库对象</param> /// <param name="dbContext">数据上下文对象</param> public ExportEntity(MemDB mem, DbContext dbContext) { this.MemDB = mem; this.CurrDbContext = dbContext; }
/// <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>(); }