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);
+ }
}
}
}