mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 22:11:36 +08:00
Update Queryable.ToParentList
This commit is contained in:
parent
c5ffc1cea8
commit
5a6025282a
@ -145,7 +145,7 @@ namespace OrmTest
|
||||
db.Insertable(new Tree() { Id = 12, Name = "child2",ParentId=1 }).ExecuteCommand();
|
||||
db.Insertable(new Tree() { Id = 2, Name = "root" }).ExecuteCommand();
|
||||
db.Insertable(new Tree() { Id = 22, Name = "child3", ParentId = 2 }).ExecuteCommand();
|
||||
|
||||
db.Insertable(new Tree() { Id = 222, Name = "child222", ParentId = 22 }).ExecuteCommand();
|
||||
// Same property name mapping,Both entities have parentId
|
||||
var list = db.Queryable<Tree>().Mapper(it => it.Parent, it => it.ParentId).ToList();
|
||||
|
||||
@ -184,6 +184,11 @@ namespace OrmTest
|
||||
itemModel.Items = allItems.Where(it => it.OrderId==itemModel.Id).ToList();//Every time it's executed
|
||||
}).ToList();
|
||||
|
||||
|
||||
var tree = db.Queryable<Tree>().ToTree(it => it.Child, it => it.ParentId, 0);
|
||||
var parentList = db.Queryable<Tree>().ToParentList(it => it.ParentId, 22);
|
||||
var parentList2 = db.Queryable<Tree>().ToParentList(it => it.ParentId, 222);
|
||||
var parentList3 = db.Queryable<Tree>().ToParentList(it => it.ParentId, 2);
|
||||
Console.WriteLine("#### End Start ####");
|
||||
}
|
||||
|
||||
|
@ -800,7 +800,7 @@ namespace SqlSugar
|
||||
List<T> result = new List<T>() { };
|
||||
var entity = this.Context.EntityMaintenance.GetEntityInfo<T>();
|
||||
Check.Exception(entity.Columns.Where(it => it.IsPrimarykey).Count() == 0, "No Primary key");
|
||||
var parentIdName = (parentIdExpression as MemberExpression).Member.Name;
|
||||
var parentIdName =UtilConvert.ToMemberExpression((parentIdExpression as LambdaExpression).Body).Member.Name;
|
||||
var ParentInfo = entity.Columns.First(it => it.PropertyName == parentIdName);
|
||||
var parentPropertyName= ParentInfo.DbColumnName;
|
||||
var current = this.Context.Queryable<T>().InSingle(primaryKeyValue);
|
||||
@ -825,7 +825,7 @@ namespace SqlSugar
|
||||
List<T> result = new List<T>() { };
|
||||
var entity = this.Context.EntityMaintenance.GetEntityInfo<T>();
|
||||
Check.Exception(entity.Columns.Where(it => it.IsPrimarykey).Count() == 0, "No Primary key");
|
||||
var parentIdName = (parentIdExpression as MemberExpression).Member.Name;
|
||||
var parentIdName = UtilConvert.ToMemberExpression((parentIdExpression as LambdaExpression).Body).Member.Name;
|
||||
var ParentInfo = entity.Columns.First(it => it.PropertyName == parentIdName);
|
||||
var parentPropertyName = ParentInfo.DbColumnName;
|
||||
var current =await this.Context.Queryable<T>().InSingleAsync(primaryKeyValue);
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
namespace SqlSugar
|
||||
{
|
||||
@ -116,5 +117,17 @@ namespace SqlSugar
|
||||
}
|
||||
return reval;
|
||||
}
|
||||
|
||||
internal static MemberExpression ToMemberExpression(Expression parentIdExpression)
|
||||
{
|
||||
if (parentIdExpression is UnaryExpression)
|
||||
{
|
||||
return (parentIdExpression as UnaryExpression).Operand as MemberExpression;
|
||||
}
|
||||
else
|
||||
{
|
||||
return parentIdExpression as MemberExpression;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user