From 910c00fb1689432d0ed0eb89b3f71dd02f289967 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 15 May 2017 20:44:06 +0800 Subject: [PATCH] - --- OrmTest/OrmTest.csproj | 1 + OrmTest/UnitTest/Mapping .cs | 31 +++++++++++ .../DbMaintenanceProvider.cs | 51 ++++++++++--------- 3 files changed, 59 insertions(+), 24 deletions(-) create mode 100644 OrmTest/UnitTest/Mapping .cs diff --git a/OrmTest/OrmTest.csproj b/OrmTest/OrmTest.csproj index e6cfed6d4..4099274bf 100644 --- a/OrmTest/OrmTest.csproj +++ b/OrmTest/OrmTest.csproj @@ -64,6 +64,7 @@ + diff --git a/OrmTest/UnitTest/Mapping .cs b/OrmTest/UnitTest/Mapping .cs new file mode 100644 index 000000000..4c6086ab9 --- /dev/null +++ b/OrmTest/UnitTest/Mapping .cs @@ -0,0 +1,31 @@ +using OrmTest.Models; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest.UnitTest +{ + public class Mapping:ExpTestBase + { + private Mapping() { } + public Mapping(int eachCount) + { + this.Count = eachCount; + } + + public void Init() { + + var db = GetInstance(); + var s1= db.Queryable().ToSql(); + } + + public SqlSugarClient GetInstance() + { + SqlSugarClient db = new SqlSugarClient(new AttrbuitesCofnig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true, EntityNamespace= "OrmTest.Models" }); + return db; + } + } +} diff --git a/SqlSugar/Abstract/DbProvider/DbMaintenanceProvider/DbMaintenanceProvider.cs b/SqlSugar/Abstract/DbProvider/DbMaintenanceProvider/DbMaintenanceProvider.cs index 5952713fc..f52a7a441 100644 --- a/SqlSugar/Abstract/DbProvider/DbMaintenanceProvider/DbMaintenanceProvider.cs +++ b/SqlSugar/Abstract/DbProvider/DbMaintenanceProvider/DbMaintenanceProvider.cs @@ -86,33 +86,36 @@ namespace SqlSugar { this.GetTableInfoList(); } - var entity = this.Context.MappingTables.SingleOrDefault(it => it.DbTableName.Equals(tableName, StringComparison.CurrentCultureIgnoreCase)); - var entityName = entity == null ? tableName : entity.EntityName; - var assembly = Assembly.Load(this.Context.EntityNamespace.Split('.').First()); - foreach (var item in assembly.GetType(this.Context.EntityNamespace + "." + entityName).GetProperties()) + var entities = this.Context.MappingTables.Where(it => it.DbTableName.Equals(tableName, StringComparison.CurrentCultureIgnoreCase)).ToList(); + foreach (var entity in entities) { - var isVirtual = item.GetGetMethod().IsVirtual; - if (isVirtual) continue; - var sugarColumn = item.GetCustomAttributes(typeof(SugarColumn), true) - .Where(it => it is SugarColumn) - .Select(it => (SugarColumn)it) - .Where(it => it.ColumnName.IsValuable()) - .FirstOrDefault(); - if (sugarColumn.IsNullOrEmpty()) + var entityName = entity == null ? tableName : entity.EntityName; + var assembly = Assembly.Load(this.Context.EntityNamespace.Split('.').First()); + foreach (var item in assembly.GetType(this.Context.EntityNamespace + "." + entityName).GetProperties()) { - reval.Add(new DbColumnInfo() { ColumnName = item.Name }); - } - else - { - if (sugarColumn.IsIgnore == false) + var isVirtual = item.GetGetMethod().IsVirtual; + if (isVirtual) continue; + var sugarColumn = item.GetCustomAttributes(typeof(SugarColumn), true) + .Where(it => it is SugarColumn) + .Select(it => (SugarColumn)it) + .Where(it => it.ColumnName.IsValuable()) + .FirstOrDefault(); + if (sugarColumn.IsNullOrEmpty()) { - var columnInfo = new DbColumnInfo(); - columnInfo.ColumnName = sugarColumn.ColumnName.IsNullOrEmpty() ? item.Name : sugarColumn.ColumnName; - columnInfo.IsPrimarykey = sugarColumn.IsPrimaryKey; - columnInfo.IsIdentity = sugarColumn.IsIdentity; - columnInfo.ColumnDescription = sugarColumn.ColumnDescription; - columnInfo.TableName = entity.IsNullOrEmpty() ? tableName : entity.DbTableName; - reval.Add(columnInfo); + reval.Add(new DbColumnInfo() { ColumnName = item.Name }); + } + else + { + if (sugarColumn.IsIgnore == false) + { + var columnInfo = new DbColumnInfo(); + columnInfo.ColumnName = sugarColumn.ColumnName.IsNullOrEmpty() ? item.Name : sugarColumn.ColumnName; + columnInfo.IsPrimarykey = sugarColumn.IsPrimaryKey; + columnInfo.IsIdentity = sugarColumn.IsIdentity; + columnInfo.ColumnDescription = sugarColumn.ColumnDescription; + columnInfo.TableName = entity.IsNullOrEmpty() ? tableName : entity.DbTableName; + reval.Add(columnInfo); + } } } }