diff --git a/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepository.cs b/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepository.cs index ed043f80..ac731214 100644 --- a/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepository.cs +++ b/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepository.cs @@ -196,29 +196,29 @@ namespace FreeSql protected void SelectAggregateRootTracking(object list) { if (list == null) return; - var ls = list as IEnumerable; - if (ls == null) + if (list is IEnumerable entities) { - var ie = list as IEnumerable; - if (ie == null) return; - var isfirst = true; - foreach (var item in ie) - { - if (item == null) continue; - if (isfirst) - { - isfirst = false; - var itemType = item.GetType(); - if (itemType == typeof(object)) return; - if (itemType.FullName.Contains("FreeSqlLazyEntity__")) itemType = itemType.BaseType; - if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return; - if (itemType.GetConstructor(Type.EmptyTypes) == null) return; - } - if (item is TEntity item2) Attach(item2); - else return; - } + Attach(entities); return; } + var ie = list as IEnumerable; + if (ie == null) return; + var isfirst = true; + foreach (var item in ie) + { + if (item == null) continue; + if (isfirst) + { + isfirst = false; + var itemType = item.GetType(); + if (itemType == typeof(object)) return; + if (itemType.FullName.Contains("FreeSqlLazyEntity__")) itemType = itemType.BaseType; + if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return; + if (itemType.GetConstructor(Type.EmptyTypes) == null) return; + } + if (item is TEntity item2) Attach(item2); + else return; + } } //void SelectAggregateRootNavigateReader(ISelect currentQuery, Type entityType, string navigatePath, Stack ignores) //{