- 增加 达梦数据库 ODBC 适配,和单元测试,支持 CodeFirst 模式开发;

This commit is contained in:
28810
2019-12-09 21:25:01 +08:00
parent cc585b4cd5
commit 206d7bdbe0
46 changed files with 10682 additions and 17 deletions

View File

@ -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();

View File

@ -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();

View File

@ -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>();

View File

@ -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();

View File

@ -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;