mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-03 12:18:00 +08:00
Synchronization code
This commit is contained in:
parent
4d34b46746
commit
937d1f1d74
@ -481,18 +481,22 @@ namespace SqlSugar
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var navEntity = args[0];
|
var navEntity = args[0];
|
||||||
this.Context.InitMappingInfo(navEntity);
|
|
||||||
var navEntityInfo = this.Context.EntityMaintenance.GetEntityInfo(navEntity);
|
var childDb = this.Context;
|
||||||
|
childDb = GetCrossDatabase(childDb, navEntity);
|
||||||
|
|
||||||
|
childDb.InitMappingInfo(navEntity);
|
||||||
|
var navEntityInfo = childDb.EntityMaintenance.GetEntityInfo(navEntity);
|
||||||
var sqlObj = GetWhereSql(navObjectNameColumnInfo.Navigat.Name);
|
var sqlObj = GetWhereSql(navObjectNameColumnInfo.Navigat.Name);
|
||||||
Check.ExceptionEasy(sqlObj.MappingExpressions.IsNullOrEmpty(), $"{expression} error,dynamic need MappingField ,Demo: Includes(it => it.Books.MappingField(z=>z.studenId,()=>it.StudentId).ToList())", $"{expression} 解析出错,自定义映射需要 MappingField ,例子: Includes(it => it.Books.MappingField(z=>z.studenId,()=>it.StudentId).ToList())");
|
Check.ExceptionEasy(sqlObj.MappingExpressions.IsNullOrEmpty(), $"{expression} error,dynamic need MappingField ,Demo: Includes(it => it.Books.MappingField(z=>z.studenId,()=>it.StudentId).ToList())", $"{expression} 解析出错,自定义映射需要 MappingField ,例子: Includes(it => it.Books.MappingField(z=>z.studenId,()=>it.StudentId).ToList())");
|
||||||
if (list.Any() && navObjectNamePropety.GetValue(list.First()) == null)
|
if (list.Any() && navObjectNamePropety.GetValue(list.First()) == null)
|
||||||
{
|
{
|
||||||
MappingFieldsHelper<T> helper = new MappingFieldsHelper<T>();
|
MappingFieldsHelper<T> helper = new MappingFieldsHelper<T>();
|
||||||
helper.Context = this.Context;
|
helper.Context = childDb;
|
||||||
helper.NavEntity = navEntityInfo;
|
helper.NavEntity = navEntityInfo;
|
||||||
helper.RootEntity = this.Context.EntityMaintenance.GetEntityInfo<T>();
|
helper.RootEntity = childDb.EntityMaintenance.GetEntityInfo<T>();
|
||||||
var whereSql = helper.GetMppingSql(list, sqlObj.MappingExpressions);
|
var whereSql = helper.GetMppingSql(list, sqlObj.MappingExpressions);
|
||||||
var navList = selector(this.Context.Queryable<object>().AS(navEntityInfo.DbTableName).AddParameters(sqlObj.Parameters).Where(whereSql,true).WhereIF(sqlObj.WhereString.HasValue(), sqlObj.WhereString).Select(sqlObj.SelectString).OrderByIF(sqlObj.OrderByString.HasValue(), sqlObj.OrderByString));
|
var navList = selector(childDb.Queryable<object>().AS(navEntityInfo.DbTableName).AddParameters(sqlObj.Parameters).Where(whereSql,true).WhereIF(sqlObj.WhereString.HasValue(), sqlObj.WhereString).Select(sqlObj.SelectString).OrderByIF(sqlObj.OrderByString.HasValue(), sqlObj.OrderByString));
|
||||||
if (navList.HasValue())
|
if (navList.HasValue())
|
||||||
{
|
{
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
|
Loading…
Reference in New Issue
Block a user