public override async Task InitData() { var dbTableRepository = new DbTableRepository(Project.DataSource, LoggerFactory); DbRepository = dbTableRepository; Tables = await dbTableRepository.QueryTable(); var dbTypeConvert = PluginManager.Resolve <IDbTypeConverter>(); foreach (var table in Tables) { foreach (var col in table.Columns) { if ((DbRepository.DbProvider == Db.DbProvider.MySql || DbRepository.DbProvider == Db.DbProvider.MariaDB) && col.DbType == "char" && col.DataLength == 36 && Project.Language == "CSharp") { col.LanguageType = "Guid"; } else { col.LanguageType = dbTypeConvert.LanguageType(DbRepository.DbProvider, Project.Language, col.DbType); } } } }
public SyncService(MainController controller, ApplicationDbContext efContext, DbTableRepository dbTableRepository) { _client = new RestClient(BaseUrl); _controller = controller; _efContext = efContext; _dbTableRepository = dbTableRepository; }
public MainController(MainForm form1) { _view = form1; _efContext = new ApplicationDbContext(); _adoContext = new AdoContext(); _dbTableRepository = new DbTableRepository(_adoContext); _syncService = new SyncService(this, _efContext, _dbTableRepository); }
public MainController(MainForm form1) { _view = form1; _efContext = new ApplicationDbContext(); _adoContext = new AdoContext(); _dbTableRepository = new DbTableRepository(_adoContext); Initialize(); }
public override async Task InitData() { var dbTableRepository = new DbTableRepository(Project.DataSource, LoggerFactory); DbRepository = dbTableRepository; Tables = await dbTableRepository.QueryTable(); var dbTypeConvert = PluginManager.Resolve <IDbTypeConverter>(); foreach (var table in Tables) { foreach (var col in table.Columns) { if ((DbRepository.DbProvider == Db.DbProvider.SQLite) && Project.Language == "CSharp") { if (col.DbType.IndexOf("(") > -1) { string[] arr = col.DbType.Split('('); col.DbType = arr[0]; } else if (col.IsPrimaryKey == true) //从 SQLite 的 2.3.4 版本开始,如果你将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么无论你何时向该表的该字段插入一个 NULL 值,这个 NULL 值将自动被更换为比表中该字段所有行的最大值大 1 的整数;如果表为空,那么将被更换为 1。 { if (col.DbType == "integer") { col.AutoIncrement = true; } } } if ((DbRepository.DbProvider == Db.DbProvider.MySql || DbRepository.DbProvider == Db.DbProvider.MariaDB) && col.DbType == "char" && col.DataLength == 36 && Project.Language == "CSharp") { col.LanguageType = "Guid"; } else { col.LanguageType = dbTypeConvert.LanguageType(DbRepository.DbProvider, Project.Language, col.DbType); } } } }
public SyncTableFacade() { context = new ApplicationDbContext(); adoContext = new AdoContext(); dbTableRepository = new DbTableRepository(adoContext); }