Update Core

This commit is contained in:
610262374@qq.com 2019-06-10 13:30:12 +08:00
parent 6a08eea471
commit 614b736561

View File

@ -283,6 +283,7 @@ namespace SqlSugar
private List<DbColumnInfo> GetColumnInfosByTableName(string tableName)
{
var columns = GetColumnsByTableName2(tableName);
string sql = "PRAGMA table_info(" +SqlBuilder.GetTranslationTableName(tableName) + ")";
var oldIsEnableLog = this.Context.Ado.IsEnableLogEvent;
this.Context.Ado.IsEnableLogEvent = false;
@ -298,12 +299,13 @@ namespace SqlSugar
type = type.Split('(').First();
length = type.Split('(').Last().TrimEnd(')').ObjToInt();
}
bool isIdentity = columns.FirstOrDefault(it => it.DbColumnName.Equals(dataReader.GetString(1),StringComparison.CurrentCultureIgnoreCase)).IsIdentity;
DbColumnInfo column = new DbColumnInfo()
{
TableName = tableName,
DataType = type,
IsNullable = !dataReader.GetBoolean(3),
IsIdentity = dataReader.GetBoolean(3) && dataReader.GetBoolean(5).ObjToBool() && (type.IsIn("integer", "int", "int32", "int64", "long")),
IsIdentity = isIdentity,
ColumnDescription = null,
DbColumnName = dataReader.GetString(1),
DefaultValue = dataReader.GetValue(4).ObjToString(),
@ -315,6 +317,30 @@ namespace SqlSugar
return result;
}
}
private List<DbColumnInfo> GetColumnsByTableName2(string tableName)
{
tableName = SqlBuilder.GetTranslationTableName(tableName);
string sql = "select * from " + tableName + " limit 0,1";
var oldIsEnableLog = this.Context.Ado.IsEnableLogEvent;
this.Context.Ado.IsEnableLogEvent = false;
using (DbDataReader reader = (SqliteDataReader)this.Context.Ado.GetDataReader(sql))
{
this.Context.Ado.IsEnableLogEvent = oldIsEnableLog;
List<DbColumnInfo> result = new List<DbColumnInfo>();
var schemaTable = reader.GetSchemaTable();
foreach (DataRow row in schemaTable.Rows)
{
DbColumnInfo column = new DbColumnInfo()
{
TableName = tableName,
IsIdentity = (bool)row["IsAutoIncrement"],
DbColumnName = row["ColumnName"].ToString(),
};
result.Add(column);
}
return result;
}
}
public override bool AddRemark(EntityInfo entity)
{
return true;