private DbTable <T> CreateTempTableInstance <T>(T _) where T : Model, new() { var tableName = AssignTempTableName(_); return(DbTable <T> .CreateTemp(_, this, tableName)); }
private DbTable <T> CreateTempTableInstance <T>(T _) where T : class, IEntity, new() { var tableName = AssignTempTableName(_.Model); return(DbTable <T> .CreateTemp(_, this, tableName)); }
internal static void MockSequentialKeyTempTable <T>(this DbQuery <T> dbQuery) where T : Model, new() { var sequentialKey = new SequentialKey(dbQuery.Model); var dbSession = dbQuery.DbSession; var tempTableName = dbSession.AssignTempTableName(sequentialKey); var queryStatement = dbQuery.QueryStatement; queryStatement.SequentialKeyTempTable = DbTable <SequentialKey> .CreateTemp(sequentialKey, dbQuery.DbSession, tempTableName); queryStatement.SequentialKeyTempTable.InitialRowCount = 1; // this value (zero or non-zero) determines whether child query should be created. }
internal static DbTable <TChild> MockCreateChild <T, TChild>(this DbTable <T> dbTable, Action <TChild> initializer, Func <T, TChild> getChildModel) where T : Model, new() where TChild : Model, new() { var model = dbTable.VerifyCreateChild(initializer, getChildModel); var dbSession = dbTable.DbSession; var name = dbSession.AssignTempTableName(model); var result = DbTable <TChild> .CreateTemp(model, dbSession, name); return(result); }
private async Task <DbTable <T> > ToTempTableAsync <T>(T model, DbSession dbSession, CancellationToken cancellationToken) where T : Model, new() { Debug.Assert(model == this.Model); Debug.Assert(model.DataSource == null); var name = dbSession.AssignTempTableName(model); var result = DbTable <T> .CreateTemp(model, dbSession, name); await dbSession.CreateTableAsync(model, true, cancellationToken); result.InitialRowCount = await dbSession.InsertAsync(BuildToTempTableStatement(), cancellationToken); return(result); }