Update navigate query

This commit is contained in:
sunkaixuan
2022-06-29 14:01:19 +08:00
parent f10a403c06
commit 68e290a498
3 changed files with 4 additions and 4 deletions

View File

@@ -295,7 +295,7 @@ namespace SqlSugar
this.Context.InitMappingInfo(navEntityInfo.Type);
var navPkColumn = navEntityInfo.Columns.Where(it => it.IsPrimarykey).FirstOrDefault();
Check.ExceptionEasy(navPkColumn==null&& navObjectNameColumnInfo.Navigat.Name2==null, navEntityInfo.EntityName+ "need primarykey", navEntityInfo.EntityName + " 需要主键");
if (navPkColumn==null)
if (navObjectNameColumnInfo.Navigat.Name2.HasValue())
{
navPkColumn = navEntityInfo.Columns.Where(it => it.PropertyName== navObjectNameColumnInfo.Navigat.Name2).FirstOrDefault();
}
@@ -341,7 +341,7 @@ namespace SqlSugar
//var navType = navObjectNamePropety.PropertyType;
var listItemPkColumn = listItemEntity.Columns.Where(it => it.IsPrimarykey).FirstOrDefault();
Check.ExceptionEasy(listItemPkColumn == null&& navObjectNameColumnInfo.Navigat.Name2==null, listItemEntity.EntityName + " not primary key", listItemEntity.EntityName + "没有主键");
if (listItemPkColumn == null)
if (navObjectNameColumnInfo.Navigat.Name2.HasValue())
{
listItemPkColumn = listItemEntity.Columns.Where(it => it.PropertyName== navObjectNameColumnInfo.Navigat.Name2).FirstOrDefault();
}

View File

@@ -168,7 +168,7 @@ namespace SqlSugar
private MapperSql GetOneToManySql()
{
var pkColumn = this.EntityInfo.Columns.FirstOrDefault(it => it.IsPrimarykey == true);
if (pkColumn == null && Navigat.Name2 != null)
if (Navigat.Name2.HasValue())
{
pkColumn = this.EntityInfo.Columns.FirstOrDefault(it => it.PropertyName== Navigat.Name2);
}

View File

@@ -78,7 +78,7 @@ namespace SqlSugar
" NavigateType.Dynamic 自定义导航对象不支持在Where(x=>x.自定义.Id==1)等方法中使用"+ this.ProPertyEntity.Type.Name);
}
var pk = this.ProPertyEntity.Columns.FirstOrDefault(it => it.IsPrimarykey == true)?.DbColumnName;
if (pk == null && Navigat.Name2 != null)
if (Navigat.Name2.HasValue())
{
pk = this.ProPertyEntity.Columns.FirstOrDefault(it => it.PropertyName == Navigat.Name2)?.DbColumnName;
}