mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-25 01:14:33 +08:00
Update Core
This commit is contained in:
parent
6a08eea471
commit
614b736561
@ -283,6 +283,7 @@ namespace SqlSugar
|
|||||||
|
|
||||||
private List<DbColumnInfo> GetColumnInfosByTableName(string tableName)
|
private List<DbColumnInfo> GetColumnInfosByTableName(string tableName)
|
||||||
{
|
{
|
||||||
|
var columns = GetColumnsByTableName2(tableName);
|
||||||
string sql = "PRAGMA table_info(" +SqlBuilder.GetTranslationTableName(tableName) + ")";
|
string sql = "PRAGMA table_info(" +SqlBuilder.GetTranslationTableName(tableName) + ")";
|
||||||
var oldIsEnableLog = this.Context.Ado.IsEnableLogEvent;
|
var oldIsEnableLog = this.Context.Ado.IsEnableLogEvent;
|
||||||
this.Context.Ado.IsEnableLogEvent = false;
|
this.Context.Ado.IsEnableLogEvent = false;
|
||||||
@ -298,12 +299,13 @@ namespace SqlSugar
|
|||||||
type = type.Split('(').First();
|
type = type.Split('(').First();
|
||||||
length = type.Split('(').Last().TrimEnd(')').ObjToInt();
|
length = type.Split('(').Last().TrimEnd(')').ObjToInt();
|
||||||
}
|
}
|
||||||
|
bool isIdentity = columns.FirstOrDefault(it => it.DbColumnName.Equals(dataReader.GetString(1),StringComparison.CurrentCultureIgnoreCase)).IsIdentity;
|
||||||
DbColumnInfo column = new DbColumnInfo()
|
DbColumnInfo column = new DbColumnInfo()
|
||||||
{
|
{
|
||||||
TableName = tableName,
|
TableName = tableName,
|
||||||
DataType = type,
|
DataType = type,
|
||||||
IsNullable = !dataReader.GetBoolean(3),
|
IsNullable = !dataReader.GetBoolean(3),
|
||||||
IsIdentity = dataReader.GetBoolean(3) && dataReader.GetBoolean(5).ObjToBool() && (type.IsIn("integer", "int", "int32", "int64", "long")),
|
IsIdentity = isIdentity,
|
||||||
ColumnDescription = null,
|
ColumnDescription = null,
|
||||||
DbColumnName = dataReader.GetString(1),
|
DbColumnName = dataReader.GetString(1),
|
||||||
DefaultValue = dataReader.GetValue(4).ObjToString(),
|
DefaultValue = dataReader.GetValue(4).ObjToString(),
|
||||||
@ -315,6 +317,30 @@ namespace SqlSugar
|
|||||||
return result;
|
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)
|
public override bool AddRemark(EntityInfo entity)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user