public TownDatabase(LiteDatabase database) { Console.WriteLine("Running LiteDB!"); this.database = database; Guilds = new LiteDBTableAccess <TownGuild>(database, "Guilds"); Users = new LiteDBTableAccess <TownUser>(database, "Users"); }
public TownDatabase(IAmazonDynamoDB dbContext) { Console.WriteLine("Running DDB!"); dynamo = new DynamoDBContext(dbContext); Guilds = new DynamoTableAccess <TownGuild>(dynamo); Users = new DynamoTableAccess <TownUser>(dynamo); }
void Migrate <T>(ITableAccess <T> from, ITableAccess <T> to, Action <T> modify = null) { T last; foreach (T item in from.FindAll()) { last = item; modify?.Invoke(item); to.Insert(item); } }
public TownDatabase(IAmazonDynamoDB dbContext, LiteDatabase database) { this.database = database; Guilds = new LiteDBTableAccess <TownGuild>(database, "Guilds"); Users = new LiteDBTableAccess <TownUser>(database, "Users"); Console.WriteLine("Migrating to dynamo!"); Migrate(dbContext); Guilds = new DynamoTableAccess <TownGuild>(dynamo); Users = new DynamoTableAccess <TownUser>(dynamo); }
private void StartCSCallLua() { int LOOP_TIMES = 1000000; Debug.Log("C# call lua :"); sw.WriteLine("C# call lua :"); FuncBasePara funcBaseParm = luaenv.Global.Get <FuncBasePara>("FuncBasePara"); PerformentTest("C# call lua : base parameter function :", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { funcBaseParm(i); } }); FuncClassPara funcClassPara = luaenv.Global.Get <FuncClassPara> ("FuncClassPara"); ParaClass paraClass = new ParaClass(); PerformentTest("C# call lua : class parameter function :", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { funcClassPara(paraClass); } }); FuncStructPara funcStructPara = luaenv.Global.Get <FuncStructPara> ("FuncStructPara"); ParaStruct paraStruct = new ParaStruct(); PerformentTest("C# call lua : struct parameter function :", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { funcStructPara(paraStruct); } }); FuncTwoBasePara funcTwoBasePara = luaenv.Global.Get <FuncTwoBasePara> ("FuncTwoBasePara"); PerformentTest("C# call lua : two base parameter function :", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { funcTwoBasePara(i, i); } }); sw.WriteLine("C# access lua table : "); ITableAccess iTAccess = luaenv.Global.Get <ITableAccess> ("luaTable"); PerformentTest("C# access lua table : access member, get : ", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { int x = iTAccess.id; } }); PerformentTest("C# access lua table : access member, set : ", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { iTAccess.id = 0; } }); PerformentTest("C# access lua table : access member function : ", LOOP_TIMES, loop_times => { for (int i = 0; i < loop_times; i++) { iTAccess.func(); } }); }
public StorageAccess(ICache cache, ILogger logger, ITableAccess tableAccess) { _cache = cache; _logger = logger; _tableAccess = tableAccess; }