Code optimization

This commit is contained in:
sunkaixuan 2017-09-06 16:37:25 +08:00
parent b4ff8c3513
commit 1a42cbb1cf
15 changed files with 44 additions and 38 deletions

View File

@ -46,14 +46,14 @@ namespace OrmTest.Demo
var db = GetInstance();
//propertyName is valid
string propertyName = "Id";
string dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
string dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
//propertyName is invalid
try
{
propertyName = "Id'";
dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list2 = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
}
catch (Exception ex)

View File

@ -32,14 +32,14 @@ namespace OrmTest.Demo
var db = GetInstance();
//propertyName is valid
string propertyName = "Id";
string dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
string dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
//propertyName is invalid
try
{
propertyName = "Id'";
dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list2 = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
}
catch (Exception ex)

View File

@ -44,14 +44,14 @@ namespace OrmTest.Demo
var db = GetInstance();
//propertyName is valid
string propertyName = "Id";
string dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
string dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
//propertyName is invalid
try
{
propertyName = "Id'";
dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list2 = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
}
catch (Exception ex)

View File

@ -66,7 +66,7 @@ namespace SqlSugar
#region Core Logic
protected virtual void Execute(Type entityType)
{
var entityInfo = this.Context.EntityProvider.GetEntityInfo(entityType);
var entityInfo = this.Context.EntityMaintenance.GetEntityInfo(entityType);
var tableName = GetTableName(entityInfo);
var isAny = this.Context.DbMaintenance.IsAnyTable(tableName);
if (isAny)
@ -208,7 +208,7 @@ namespace SqlSugar
}
protected virtual string GetTableName(EntityInfo entityInfo)
{
return this.Context.EntityProvider.GetTableName(entityInfo.EntityName);
return this.Context.EntityMaintenance.GetTableName(entityInfo.EntityName);
}
protected virtual DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{

View File

@ -138,7 +138,7 @@ namespace SqlSugar
{
var columns = this.Context.DbMaintenance.GetColumnInfosByTableName(tableInfo.Name);
if (this.Context.IgnoreColumns.IsValuable()) {
var entityName = this.Context.EntityProvider.GetEntityName(tableInfo.Name);
var entityName = this.Context.EntityMaintenance.GetEntityName(tableInfo.Name);
columns = columns.Where(c =>
!this.Context.IgnoreColumns.Any(ig => ig.EntityName.Equals(entityName, StringComparison.CurrentCultureIgnoreCase)&&c.DbColumnName==ig.PropertyName)
).ToList();

View File

@ -19,12 +19,12 @@ namespace SqlSugar
{
get
{
return this.Context.EntityProvider.GetEntityInfo<T>();
return this.Context.EntityMaintenance.GetEntityInfo<T>();
}
}
public int ExecuteCommand()
{
DeleteBuilder.EntityInfo = this.Context.EntityProvider.GetEntityInfo<T>();
DeleteBuilder.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo<T>();
string sql = DeleteBuilder.ToSqlString();
var paramters = DeleteBuilder.Parameters == null ? null : DeleteBuilder.Parameters.ToArray();
RestoreMapping();
@ -57,7 +57,7 @@ namespace SqlSugar
Where(SqlBuilder.SqlFalse);
return this;
}
string tableName = this.Context.EntityProvider.GetTableName<T>();
string tableName = this.Context.EntityMaintenance.GetTableName<T>();
var primaryFields = this.GetPrimaryKeys();
var isSinglePrimaryKey = primaryFields.Count == 1;
Check.ArgumentNullException(primaryFields, string.Format("Table {0} with no primarykey", tableName));
@ -67,7 +67,7 @@ namespace SqlSugar
var primaryField = primaryFields.Single();
foreach (var deleteObj in deleteObjs)
{
var entityPropertyName = this.Context.EntityProvider.GetPropertyName<T>(primaryField);
var entityPropertyName = this.Context.EntityMaintenance.GetPropertyName<T>(primaryField);
var columnInfo = EntityInfo.Columns.Single(it => it.PropertyName.Equals(entityPropertyName, StringComparison.CurrentCultureIgnoreCase));
var value = columnInfo.PropertyInfo.GetValue(deleteObj, null);
primaryKeyValues.Add(value);
@ -102,7 +102,7 @@ namespace SqlSugar
{
if (i == 0)
andString.Append(DeleteBuilder.WhereInAndTemplate + UtilConstants.Space);
var entityPropertyName = this.Context.EntityProvider.GetPropertyName<T>(primaryField);
var entityPropertyName = this.Context.EntityMaintenance.GetPropertyName<T>(primaryField);
var columnInfo = EntityInfo.Columns.Single(it => it.PropertyName == entityPropertyName);
var entityValue = columnInfo.PropertyInfo.GetValue(deleteObj, null);
andString.AppendFormat(DeleteBuilder.WhereInEqualTemplate, primaryField, entityValue);
@ -176,7 +176,7 @@ namespace SqlSugar
Where(SqlBuilder.SqlFalse);
return this;
}
string tableName = this.Context.EntityProvider.GetTableName<T>();
string tableName = this.Context.EntityMaintenance.GetTableName<T>();
string primaryField = null;
primaryField = GetPrimaryKeys().FirstOrDefault();
Check.ArgumentNullException(primaryField, "Table " + tableName + " with no primarykey");
@ -209,7 +209,7 @@ namespace SqlSugar
public KeyValuePair<string, List<SugarParameter>> ToSql()
{
DeleteBuilder.EntityInfo = this.Context.EntityProvider.GetEntityInfo<T>();
DeleteBuilder.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo<T>();
string sql = DeleteBuilder.ToSqlString();
var paramters = DeleteBuilder.Parameters == null ? null : DeleteBuilder.Parameters.ToList();
RestoreMapping();
@ -220,7 +220,7 @@ namespace SqlSugar
{
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{
@ -232,7 +232,7 @@ namespace SqlSugar
{
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{

View File

@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace SqlSugar
{
public class EntityProvider
public class EntityMaintenance
{
public SqlSugarClient Context { get; set; }

View File

@ -79,7 +79,7 @@ namespace SqlSugar
setValue = idValue;
else
setValue = Convert.ToInt32(idValue);
this.Context.EntityProvider.GetProperty<T>(identityKey).SetValue(result,setValue, null);
this.Context.EntityMaintenance.GetProperty<T>(identityKey).SetValue(result,setValue, null);
return idValue>0;
}
public Task<int> ExecuteCommandAsync()
@ -280,7 +280,7 @@ namespace SqlSugar
{
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{
@ -291,7 +291,7 @@ namespace SqlSugar
{
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{

View File

@ -37,7 +37,7 @@ namespace SqlSugar
{
get
{
return this.Context.EntityProvider.GetEntityInfo<T>();
return this.Context.EntityMaintenance.GetEntityInfo<T>();
}
}
public void Clear()
@ -983,7 +983,7 @@ namespace SqlSugar
{
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{

View File

@ -375,7 +375,7 @@ namespace SqlSugar
{
pre = Builder.GetTranslationColumnName(TableShortName) + ".";
}
reval = string.Join(",", this.Context.EntityProvider.GetEntityInfo(this.EntityType).Columns.Where(it => !it.IsIgnore).Select(it => pre + Builder.GetTranslationColumnName(it.EntityName, it.PropertyName)));
reval = string.Join(",", this.Context.EntityMaintenance.GetEntityInfo(this.EntityType).Columns.Where(it => !it.IsIgnore).Select(it => pre + Builder.GetTranslationColumnName(it.EntityName, it.PropertyName)));
}
else
{
@ -468,7 +468,7 @@ namespace SqlSugar
private string GetTableName(string entityName)
{
var result = this.Context.EntityProvider.GetTableName(entityName);
var result = this.Context.EntityMaintenance.GetTableName(entityName);
return this.Builder.GetTranslationTableName(result);
}
}

View File

@ -94,7 +94,7 @@ namespace SqlSugar
if (this.WhereColumnList == null) this.WhereColumnList = new List<string>();
foreach (var item in whereColumns)
{
this.WhereColumnList.Add(this.Context.EntityProvider.GetDbColumnName<T>(item));
this.WhereColumnList.Add(this.Context.EntityMaintenance.GetDbColumnName<T>(item));
}
return this;
}
@ -284,7 +284,7 @@ namespace SqlSugar
}
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetPrimaries(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{
@ -295,7 +295,7 @@ namespace SqlSugar
{
if (this.Context.IsSystemTablesConfig)
{
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityProvider.GetTableName(this.EntityInfo.EntityName));
return this.Context.DbMaintenance.GetIsIdentities(this.Context.EntityMaintenance.GetTableName(this.EntityInfo.EntityName));
}
else
{

View File

@ -22,7 +22,7 @@ namespace SqlSugar
#region Fields
protected ISqlBuilder _SqlBuilder;
protected EntityProvider _EntityProvider;
protected EntityMaintenance _EntityProvider;
protected IAdo _Ado;
protected ILambdaExpressions _LambdaExpressions;
protected IRewritableMethods _RewritableMethods;
@ -106,7 +106,7 @@ namespace SqlSugar
},
(cm, key) =>
{
var reval = this.Context.EntityProvider.GetEntityInfo(type);
var reval = this.Context.EntityMaintenance.GetEntityInfo(type);
return reval;
});
InitMppingInfo(entityInfo);
@ -169,7 +169,7 @@ namespace SqlSugar
var reval = new InsertableProvider<T>();
var sqlBuilder = InstanceFactory.GetSqlbuilder(this.CurrentConnectionConfig); ;
reval.Context = this.Context;
reval.EntityInfo = this.Context.EntityProvider.GetEntityInfo<T>();
reval.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo<T>();
reval.SqlBuilder = sqlBuilder;
reval.InsertObjs = insertObjs;
sqlBuilder.InsertBuilder = reval.InsertBuilder = InstanceFactory.GetInsertBuilder(this.CurrentConnectionConfig);
@ -196,7 +196,7 @@ namespace SqlSugar
var reval = new UpdateableProvider<T>();
var sqlBuilder = InstanceFactory.GetSqlbuilder(this.CurrentConnectionConfig); ;
reval.Context = this.Context;
reval.EntityInfo = this.Context.EntityProvider.GetEntityInfo<T>();
reval.EntityInfo = this.Context.EntityMaintenance.GetEntityInfo<T>();
reval.SqlBuilder = sqlBuilder;
reval.UpdateObjs = UpdateObjs;
sqlBuilder.UpdateBuilder = reval.UpdateBuilder = InstanceFactory.GetUpdateBuilder(this.CurrentConnectionConfig);

View File

@ -67,7 +67,7 @@
<Compile Include="Abstract\DbMaintenanceProvider\Methods.cs" />
<Compile Include="Abstract\DbMaintenanceProvider\Properties.cs" />
<Compile Include="Abstract\AdoProvider\AdoProvider.cs" />
<Compile Include="Abstract\EntityProvider\EntityProvider.cs" />
<Compile Include="Abstract\EntityMaintenance\EntityMaintenance.cs" />
<Compile Include="Abstract\FilterProvider\FilterProvider.cs" />
<Compile Include="Abstract\InsertableProvider\InsertableProvider.cs" />
<Compile Include="Abstract\DeleteProvider\DeleteableProvider.cs" />

View File

@ -488,13 +488,19 @@ namespace SqlSugar
#endregion
#region Entity Methods
public virtual EntityProvider EntityProvider
[Obsolete("Use SqlSugarClient.EntityMaintenance")]
public virtual EntityMaintenance EntityProvider
{
get { return this.EntityMaintenance; }
set { this.EntityMaintenance = value; }
}
public virtual EntityMaintenance EntityMaintenance
{
get
{
if (base._EntityProvider == null)
{
base._EntityProvider = new EntityProvider();
base._EntityProvider = new EntityMaintenance();
base._EntityProvider.Context = this;
}
return _EntityProvider;

View File

@ -32,14 +32,14 @@ namespace OrmTest.Demo
var db = GetInstance();
//propertyName is valid
string propertyName = "Id";
string dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
string dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
//propertyName is invalid
try
{
propertyName = "Id'";
dbColumnName = db.EntityProvider.GetDbColumnName<Student>(propertyName);
dbColumnName = db.EntityMaintenance.GetDbColumnName<Student>(propertyName);
var list2 = db.Queryable<Student>().OrderBy(dbColumnName).ToList();
}
catch (Exception ex)