Browse Source

Update .net core project

pull/19/head
sunkaixuan 2 years ago
parent
commit
e541e699dc
  1. 6
      Src/Asp.NetCore2/SqlSugar/Abstract/EntityMaintenance/EntityMaintenance.cs
  2. 8
      Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs
  3. 17
      Src/Asp.NetCore2/SqlSugar/Utilities/PropertyCallAdapterProvider.cs

6
Src/Asp.NetCore2/SqlSugar/Abstract/EntityMaintenance/EntityMaintenance.cs

@ -319,6 +319,12 @@ namespace SqlSugar
{
this.Context.CurrentConnectionConfig.ConfigureExternalServices.EntityService(property, column);
}
if (column.PropertyInfo.DeclaringType != null
&& column.PropertyInfo.DeclaringType != result.Type
&&result.Columns.Any(x=>x.PropertyName==column.PropertyName))
{
continue;
}
result.Columns.Add(column);
}
}

8
Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs

@ -37,7 +37,7 @@ namespace SqlSugar
}
else
{
InSubGroupBy(expression);
InSubGroupBy(expression, operatorValue=="<>"?"NOT":"");
}
return;
}
@ -123,7 +123,7 @@ namespace SqlSugar
}
base.Context.Result.Append($" {leftSql} in ({rightSql}) ");
}
private void InSubGroupBy(BinaryExpression expression)
private void InSubGroupBy(BinaryExpression expression,string not)
{
var leftSql = GetNewExpressionValue(expression.Left);
var rightExpression = expression.Right as MethodCallExpression;
@ -139,12 +139,12 @@ namespace SqlSugar
var p = (leftExp as MemberExpression);
this.Context.SingleTableNameSubqueryShortName=p.Expression.ToString();
}
base.Context.Result.Append($" {leftSql} in ({rightSql}) ");
base.Context.Result.Append($" {leftSql} {not} in ({rightSql}) ");
}
private bool IsGroupSubquery(Expression rightExpression, string operatorValue)
{
if (operatorValue != "=")
if (operatorValue != "="&& operatorValue != "<>")
{
return false;
}

17
Src/Asp.NetCore2/SqlSugar/Utilities/PropertyCallAdapterProvider.cs

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
namespace SqlSugar
@ -33,9 +34,19 @@ namespace SqlSugar
IPropertyCallAdapter<TThis> instance;
if (!_instances.TryGetValue(forPropertyName, out instance))
{
var property = typeof(TThis).GetProperty(
forPropertyName,
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
PropertyInfo property = null;
var propertys = typeof(TThis).GetProperties(
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.Where(it=>it.Name== forPropertyName);
if (propertys.Count() == 1)
{
property = propertys.First();
}
else
{
property = propertys.First();
}
MethodInfo getMethod;
Delegate getterInvocation = null;

Loading…
Cancel
Save