mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 增加 达梦数据库 ODBC 适配,和单元测试,支持 CodeFirst 模式开发;
This commit is contained in:
		@@ -122,6 +122,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        {
 | 
			
		||||
            if (_tableRule == null) return _table.DbName;
 | 
			
		||||
            var newname = _tableRule(_table.DbName);
 | 
			
		||||
            if (newname == _table.DbName) return _table.DbName;
 | 
			
		||||
            if (string.IsNullOrEmpty(newname)) return _table.DbName;
 | 
			
		||||
            if (_orm.CodeFirst.IsSyncStructureToLower) newname = newname.ToLower();
 | 
			
		||||
            if (_orm.CodeFirst.IsSyncStructureToUpper) newname = newname.ToUpper();
 | 
			
		||||
 
 | 
			
		||||
@@ -374,6 +374,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        {
 | 
			
		||||
            if (_tableRule == null) return _table.DbName;
 | 
			
		||||
            var newname = _tableRule(_table.DbName);
 | 
			
		||||
            if (newname == _table.DbName) return _table.DbName;
 | 
			
		||||
            if (string.IsNullOrEmpty(newname)) return _table.DbName;
 | 
			
		||||
            if (_orm.CodeFirst.IsSyncStructureToLower) newname = newname.ToLower();
 | 
			
		||||
            if (_orm.CodeFirst.IsSyncStructureToUpper) newname = newname.ToUpper();
 | 
			
		||||
 
 | 
			
		||||
@@ -917,7 +917,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        protected List<Dictionary<Type, string>> GetTableRuleUnions()
 | 
			
		||||
        {
 | 
			
		||||
            var unions = new List<Dictionary<Type, string>>();
 | 
			
		||||
            var trs = _tableRules.Any() ? _tableRules : new List<Func<Type, string, string>>(new[] { new Func<Type, string, string>((type, oldname) => oldname) });
 | 
			
		||||
            var trs = _tableRules.Any() ? _tableRules : new List<Func<Type, string, string>>(new[] { new Func<Type, string, string>((type, oldname) => null) });
 | 
			
		||||
            foreach (var tr in trs)
 | 
			
		||||
            {
 | 
			
		||||
                var dict = new Dictionary<Type, string>();
 | 
			
		||||
 
 | 
			
		||||
@@ -498,6 +498,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
        {
 | 
			
		||||
            if (_tableRule == null) return _table.DbName;
 | 
			
		||||
            var newname = _tableRule(_table.DbName);
 | 
			
		||||
            if (newname == _table.DbName) return _table.DbName;
 | 
			
		||||
            if (string.IsNullOrEmpty(newname)) return _table.DbName;
 | 
			
		||||
            if (_orm.CodeFirst.IsSyncStructureToLower) newname = newname.ToLower();
 | 
			
		||||
            if (_orm.CodeFirst.IsSyncStructureToUpper) newname = newname.ToUpper();
 | 
			
		||||
 
 | 
			
		||||
@@ -217,6 +217,7 @@ namespace FreeSql.Internal
 | 
			
		||||
                            break;
 | 
			
		||||
                        case DataType.Oracle:
 | 
			
		||||
                        case DataType.OdbcOracle:
 | 
			
		||||
                        case DataType.OdbcDameng:
 | 
			
		||||
                            if (strlen < 0) colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1(4000)");
 | 
			
		||||
                            else colattr.DbType = Regex.Replace(colattr.DbType, charPatten, $"$1({strlen})");
 | 
			
		||||
                            break;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user