mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-25 01:14:33 +08:00
Update oracle codefirst
This commit is contained in:
parent
32b33e448a
commit
3a3fbdba2f
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using SqlSugar;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -14,6 +15,22 @@ namespace OrmTest
|
|||||||
Db.DbMaintenance.DropTable("UnitCodeTest1");
|
Db.DbMaintenance.DropTable("UnitCodeTest1");
|
||||||
Demo2();
|
Demo2();
|
||||||
Demo3();
|
Demo3();
|
||||||
|
Db.CodeFirst.InitTables<TESTA1>();
|
||||||
|
var xx = Db.DbMaintenance.GetColumnInfosByTableName("TESTA1", false);
|
||||||
|
Db.DbMaintenance.AddColumn("TESTA1", new DbColumnInfo()
|
||||||
|
{
|
||||||
|
DbColumnName = "aaa" + new Random().Next(2, 99999),
|
||||||
|
PropertyName = "aaa" + new Random().Next(2, 99999),
|
||||||
|
TableName = "TESTA1",
|
||||||
|
IsNullable = true,
|
||||||
|
DataType = "varchar",
|
||||||
|
Length = 11
|
||||||
|
});
|
||||||
|
// db.Utilities.RemoveCacheAll();
|
||||||
|
var xxxxx = Db.DbMaintenance.GetColumnInfosByTableName("TESTA1", false);
|
||||||
|
}
|
||||||
|
public class TESTA1 {
|
||||||
|
public string X { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Demo2()
|
private static void Demo2()
|
||||||
|
@ -191,7 +191,7 @@ namespace SqlSugar
|
|||||||
dbColumns.Any(dc => dc.DbColumnName.Equals(ec.DbColumnName)
|
dbColumns.Any(dc => dc.DbColumnName.Equals(ec.DbColumnName)
|
||||||
&& ((ec.Length != dc.Length && !UtilMethods.GetUnderType(ec.PropertyInfo).IsEnum() && UtilMethods.GetUnderType(ec.PropertyInfo).IsIn(UtilConstants.StringType)) ||
|
&& ((ec.Length != dc.Length && !UtilMethods.GetUnderType(ec.PropertyInfo).IsEnum() && UtilMethods.GetUnderType(ec.PropertyInfo).IsIn(UtilConstants.StringType)) ||
|
||||||
ec.IsNullable != dc.IsNullable ||
|
ec.IsNullable != dc.IsNullable ||
|
||||||
IsSamgeType(ec, dc)))).ToList();
|
IsNoSamgeType(ec, dc)))).ToList();
|
||||||
var renameColumns = entityColumns
|
var renameColumns = entityColumns
|
||||||
.Where(it => !string.IsNullOrEmpty(it.OldDbColumnName))
|
.Where(it => !string.IsNullOrEmpty(it.OldDbColumnName))
|
||||||
.Where(entityColumn => dbColumns.Any(dbColumn => entityColumn.OldDbColumnName.Equals(dbColumn.DbColumnName, StringComparison.CurrentCultureIgnoreCase)))
|
.Where(entityColumn => dbColumns.Any(dbColumn => entityColumn.OldDbColumnName.Equals(dbColumn.DbColumnName, StringComparison.CurrentCultureIgnoreCase)))
|
||||||
@ -343,7 +343,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual bool IsSamgeType(EntityColumnInfo ec, DbColumnInfo dc)
|
protected virtual bool IsNoSamgeType(EntityColumnInfo ec, DbColumnInfo dc)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(ec.DataType))
|
if (!string.IsNullOrEmpty(ec.DataType))
|
||||||
{
|
{
|
||||||
@ -365,6 +365,22 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (properyTypeName?.ToLower() == "varchar" && dataType?.ToLower() == "string")
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (properyTypeName?.ToLower() == "number" && dataType?.ToLower() == "decimal")
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (properyTypeName?.ToLower() == "int" && dataType?.ToLower() == "decimal"&&dc.Length==22&&dc.Scale==0&&this.Context.CurrentConnectionConfig.DbType==DbType.Oracle)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (properyTypeName?.ToLower() == "date" && dataType?.ToLower() == "datetime")
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return properyTypeName != dataType;
|
return properyTypeName != dataType;
|
||||||
}
|
}
|
||||||
private static string GetType(string name)
|
private static string GetType(string name)
|
||||||
|
Loading…
Reference in New Issue
Block a user