Update Demo

This commit is contained in:
sunkaixuan 2017-08-26 08:27:47 +08:00
parent 22e94872b9
commit 7e0f537ffb
4 changed files with 12 additions and 1 deletions

View File

@ -315,6 +315,12 @@ namespace OrmTest.Demo
.ToList();
//SELECT st.* FROM [STudent] st ,[School] sc WHERE ( [st].[SchoolId] = [sc].[Id] ) AND [st].[Name]
//IN (SELECT [Name] FROM [School] sc2 WHERE id=st.schoolid ) ORDER BY [st].[ID] ASC
var list11 = db.Queryable<Student, School>((st, sc) => st.SchoolId == sc.Id)
.In(st => st.Name, db.Queryable<School>("sc2").Where(it=>it.Id==1).Where("id=st.schoolid").Select(it => it.Name))
.OrderBy(st => st.Id)
.Select(st => st)
.ToList();
}
public static void Funs()
{

View File

@ -11,5 +11,6 @@ namespace SqlSugar
{
protected ILambdaExpressions _LambdaExpressions;
protected bool _RestoreMapping = true;
protected int _InQueryableIndex = 100;
}
}

View File

@ -678,15 +678,18 @@ namespace SqlSugar
}
protected void _InQueryable(Expression<Func<T, object>> expression, KeyValuePair<string, List<SugarParameter>> sqlObj)
{
string sql = sqlObj.Key;
if (sqlObj.Value.IsValuable())
{
this.SqlBuilder.RepairReplicationParameters(ref sql,sqlObj.Value.ToArray(),100);
this.QueryBuilder.Parameters.AddRange(sqlObj.Value);
}
var isSingle = QueryBuilder.IsSingle();
var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple);
var fieldName = lamResult.GetResultString();
var whereSql = string.Format(this.QueryBuilder.InTemplate, fieldName, sqlObj.Key);
var whereSql = string.Format(this.QueryBuilder.InTemplate, fieldName, sql);
this.QueryBuilder.WhereInfos.Add(SqlBuilder.AppendWhereOrAnd(this.QueryBuilder.WhereInfos.IsNullOrEmpty(), whereSql));
base._InQueryableIndex += 100;
}
protected List<string> GetPrimaryKeys()

View File

@ -27,5 +27,6 @@ namespace SqlSugar
string GetTranslationColumnName(string propertyName);
string GetNoTranslationColumnName(string name);
string GetPackTable(string sql,string shortName);
void RepairReplicationParameters(ref string appendSql, SugarParameter[] parameters, int addIndex);
}
}