mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-24 07:22:57 +08:00
Update Nav.Dynamic
This commit is contained in:
parent
7a750390c9
commit
4ba9ecc3fc
@ -11,6 +11,21 @@ namespace OrmTest
|
|||||||
{
|
{
|
||||||
var db = NewUnitTest.Db;
|
var db = NewUnitTest.Db;
|
||||||
var list=db.Queryable<UnitAddress011>().Includes(x => x.Persons).ToList();
|
var list=db.Queryable<UnitAddress011>().Includes(x => x.Persons).ToList();
|
||||||
|
var list2 = db.Queryable<UnitPerson011>()
|
||||||
|
.Includes(x => x.adds)
|
||||||
|
.Includes(x => x.adds2).ToList();
|
||||||
|
if (list.First().Persons.Count() != 1)
|
||||||
|
{
|
||||||
|
throw new Exception("unit error");
|
||||||
|
}
|
||||||
|
if (list2.First().adds==null)
|
||||||
|
{
|
||||||
|
throw new Exception("unit error");
|
||||||
|
}
|
||||||
|
if (list2.Last().adds2 == null)
|
||||||
|
{
|
||||||
|
throw new Exception("unit error");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
[SqlSugar.SugarTable("UnitPerson0x1x1")]
|
[SqlSugar.SugarTable("UnitPerson0x1x1")]
|
||||||
public class UnitPerson011
|
public class UnitPerson011
|
||||||
@ -20,6 +35,10 @@ namespace OrmTest
|
|||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public int AddressId { get; set; }
|
public int AddressId { get; set; }
|
||||||
public int AddressId2 { get; set; }
|
public int AddressId2 { get; set; }
|
||||||
|
[SqlSugar.Navigate(SqlSugar.NavigateType.Dynamic, "[{m:\"AddressId\",c:\"Id\"},{m:\"AddressId\",c:\"Id\"}]")]
|
||||||
|
public UnitAddress011 adds { get; set; }
|
||||||
|
[SqlSugar.Navigate(SqlSugar.NavigateType.Dynamic, "[{m:\"AddressId2\",c:\"Id\"},{m:\"AddressId2\",c:\"Id\"}]")]
|
||||||
|
public UnitAddress011 adds2 { get; set; }
|
||||||
}
|
}
|
||||||
[SqlSugar.SugarTable("UnitAddress0x1x1")]
|
[SqlSugar.SugarTable("UnitAddress0x1x1")]
|
||||||
public class UnitAddress011
|
public class UnitAddress011
|
||||||
|
@ -534,6 +534,10 @@ namespace SqlSugar
|
|||||||
var navEntityInfo = this.Context.EntityMaintenance.GetEntityInfo(navEntity);
|
var navEntityInfo = this.Context.EntityMaintenance.GetEntityInfo(navEntity);
|
||||||
this.Context.InitMappingInfo(navEntity);
|
this.Context.InitMappingInfo(navEntity);
|
||||||
var sqlObj = GetWhereSql(navObjectNameColumnInfo.Navigat.Name);
|
var sqlObj = GetWhereSql(navObjectNameColumnInfo.Navigat.Name);
|
||||||
|
if (IsJsonMapping(navObjectNameColumnInfo, sqlObj))
|
||||||
|
{
|
||||||
|
CreateDynamicMappingExpression(sqlObj, navObjectNameColumnInfo.Navigat.Name, navEntityInfo, listItemEntity);
|
||||||
|
}
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user