Subquery BUG

This commit is contained in:
sunkaixuan 2018-01-20 14:53:57 +08:00
parent a2e4e71c10
commit 57335e2294
3 changed files with 8 additions and 3 deletions

View File

@ -40,8 +40,9 @@ namespace OrmTest.Demo
private static void Subqueryable()
{
var db = GetInstance();
var getAll11 = db.Queryable<Student>().Where(it => SqlFunc.Subqueryable<School>().Where(s => s.Id == it.Id).Max(s=>s.Id)==1).ToList();
var i = 0;
var getAll11 = db.Queryable<Student>().Where(it => SqlFunc.Subqueryable<School>().Where(s => s.Id == it.Id).Max(s=>s.Id)==i).ToList();
var getAll12 = db.Queryable<Student>().Where(it => SqlFunc.Subqueryable<School>().Where(s => s.Id == it.Id).Max(s => s.Id) == 1).ToList();
var getAll7 = db.Queryable<Student>().Where(it => SqlFunc.Subqueryable<School>().Where(s => s.Id == it.Id).Any()).ToList();
var getAll9 = db.Queryable<Student>().Where(it => SqlFunc.Subqueryable<School>().Where(s => s.Id == it.Id).Count()==1).ToList();

View File

@ -25,7 +25,11 @@ namespace SqlSugar
if (context.IsSingle && oppsiteExpression != null && oppsiteExpression is MemberExpression)
{
var childExpression = (oppsiteExpression as MemberExpression).Expression;
this.context.SingleTableNameSubqueryShortName = (childExpression as ParameterExpression).Name;
if (childExpression is ParameterExpression)
this.context.SingleTableNameSubqueryShortName = (childExpression as ParameterExpression).Name;
else {
this.context.SingleTableNameSubqueryShortName = (context.Expression as LambdaExpression).Parameters.First().Name;
}
}
else if (context.IsSingle)
{