diff --git a/SqlSugar/Abstract/DbProvider/EntityProvider/EntityProvider.cs b/SqlSugar/Abstract/DbProvider/EntityProvider/EntityProvider.cs index b738f9cf9..c6bb7854d 100644 --- a/SqlSugar/Abstract/DbProvider/EntityProvider/EntityProvider.cs +++ b/SqlSugar/Abstract/DbProvider/EntityProvider/EntityProvider.cs @@ -35,5 +35,44 @@ namespace SqlSugar return result; }); } + public string GetTableName() + { + var typeName = typeof(T).Name; + if (this.Context.MappingTables == null || this.Context.MappingTables.Count == 0) return typeName; + else + { + var mappingInfo = this.Context.MappingTables.SingleOrDefault(it => it.EntityName == typeName); + return mappingInfo == null ? typeName : mappingInfo.DbTableName; + } + } + public string GetEntityName(string tableName) + { + if (this.Context.MappingTables == null || this.Context.MappingTables.Count == 0) return tableName; + else + { + var mappingInfo = this.Context.MappingTables.SingleOrDefault(it => it.DbTableName == tableName); + return mappingInfo == null ? tableName : mappingInfo.EntityName; + } + } + public string GetDbColumnName(string entityPropertyName) + { + var typeName = typeof(T).Name; + if (this.Context.MappingColumns == null || this.Context.MappingColumns.Count == 0) return entityPropertyName; + else + { + var mappingInfo = this.Context.MappingColumns.SingleOrDefault(it => it.EntityName == typeName && it.EntityPropertyName == entityPropertyName); + return mappingInfo == null ? entityPropertyName : mappingInfo.DbColumnName; + } + } + public string GetEntityPropertyName(string dbColumnName) + { + var typeName = typeof(T).Name; + if (this.Context.MappingColumns == null || this.Context.MappingColumns.Count == 0) return dbColumnName; + else + { + var mappingInfo = this.Context.MappingColumns.SingleOrDefault(it => it.EntityName == typeName && it.DbColumnName == dbColumnName); + return mappingInfo == null ? dbColumnName : mappingInfo.DbColumnName; + } + } } } diff --git a/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs b/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs index 33491efde..58e4644b2 100644 --- a/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs +++ b/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs @@ -27,7 +27,7 @@ namespace SqlSugar Where("1=2 "); return this; } - string tableName = this.Context.GetTableName(); + string tableName = this.Context.EntityProvider.GetTableName(); var entityInfo = this.Context.EntityProvider.GetEntityInfo(); if (this.Context.IsSystemTablesConfig) { @@ -40,7 +40,7 @@ namespace SqlSugar var primaryField = primaryFields.Single(); foreach (var deleteObj in deleteObjs) { - var entityPropertyName = this.Context.GetEntityPropertyName(primaryField); + var entityPropertyName = this.Context.EntityProvider.GetEntityPropertyName(primaryField); var columnInfo = entityInfo.Columns.Single(it => it.Name == entityPropertyName); var value = columnInfo.PropertyInfo.GetValue(deleteObj, null); primaryKeyValues.Add(value); @@ -65,7 +65,7 @@ namespace SqlSugar { if (i == 0) andString.Append(DeleteBuilder.WhereInAndTemplate + PubConst.Space); - var entityPropertyName = this.Context.GetEntityPropertyName(primaryField); + var entityPropertyName = this.Context.EntityProvider.GetEntityPropertyName(primaryField); var columnInfo = entityInfo.Columns.Single(it => it.Name == entityPropertyName); var entityValue = columnInfo.PropertyInfo.GetValue(deleteObj, null); andString.AppendFormat(DeleteBuilder.WhereInEqualTemplate, primaryField, entityValue); @@ -122,7 +122,7 @@ namespace SqlSugar Where("1=2 "); return this; } - string tableName = this.Context.GetTableName(); + string tableName = this.Context.EntityProvider.GetTableName(); string primaryField = null; if (this.Context.IsSystemTablesConfig) { @@ -151,7 +151,7 @@ namespace SqlSugar public KeyValuePair> ToSql() { - DeleteBuilder.TableName = this.Context.GetTableName(); + DeleteBuilder.TableName = this.Context.EntityProvider.GetTableName(); string sql = DeleteBuilder.ToSqlString(); var paramters = DeleteBuilder.Parameters == null ? null : DeleteBuilder.Parameters.ToList(); return new KeyValuePair>(sql, paramters); diff --git a/SqlSugar/SqlSugarClient.cs b/SqlSugar/SqlSugarClient.cs index 53fb7df7f..ae2130d1e 100644 --- a/SqlSugar/SqlSugarClient.cs +++ b/SqlSugar/SqlSugarClient.cs @@ -327,6 +327,7 @@ namespace SqlSugar if (base._EntityProvider == null) { base._EntityProvider = new EntityProvider(); + base._EntityProvider.Context = this; } return _EntityProvider; } @@ -353,47 +354,5 @@ namespace SqlSugar } } #endregion - - #region Internal Methods - internal string GetTableName() - { - var typeName = typeof(T).Name; - if (this.MappingTables == null || this.MappingTables.Count == 0) return typeName; - else - { - var mappingInfo = this.MappingTables.SingleOrDefault(it => it.EntityName == typeName); - return mappingInfo==null?typeName:mappingInfo.DbTableName; - } - } - internal string GetEntityName(string tableName) - { - if (this.MappingTables == null || this.MappingTables.Count == 0) return tableName; - else - { - var mappingInfo = this.MappingTables.SingleOrDefault(it => it.DbTableName == tableName); - return mappingInfo==null?tableName:mappingInfo.EntityName; - } - } - internal string GetDbColumnName(string entityPropertyName) - { - var typeName = typeof(T).Name; - if (this.MappingColumns == null || this.MappingColumns.Count == 0) return entityPropertyName; - else - { - var mappingInfo = this.MappingColumns.SingleOrDefault(it =>it.EntityName==typeName &&it.EntityPropertyName == entityPropertyName); - return mappingInfo==null?entityPropertyName:mappingInfo.DbColumnName; - } - } - internal string GetEntityPropertyName(string dbColumnName) - { - var typeName = typeof(T).Name; - if (this.MappingColumns == null || this.MappingColumns.Count == 0) return dbColumnName; - else - { - var mappingInfo = this.MappingColumns.SingleOrDefault(it => it.EntityName == typeName && it.DbColumnName == dbColumnName); - return mappingInfo == null ? dbColumnName : mappingInfo.DbColumnName; - } - } - #endregion } }