diff --git a/Demos/Demo.AspNetCore.Mvc.OData/Demo.Extenso.AspNetCore.Mvc.OData.csproj b/Demos/Demo.AspNetCore.Mvc.OData/Demo.Extenso.AspNetCore.Mvc.OData.csproj index 05cbbf5..ef5e121 100644 --- a/Demos/Demo.AspNetCore.Mvc.OData/Demo.Extenso.AspNetCore.Mvc.OData.csproj +++ b/Demos/Demo.AspNetCore.Mvc.OData/Demo.Extenso.AspNetCore.Mvc.OData.csproj @@ -6,14 +6,14 @@ - - - - - + + + + + runtime; build; native; contentfiles; analyzers - + diff --git a/Demos/Demo.Data.InfoSchema/Demo.Data.InfoSchema.csproj b/Demos/Demo.Data.InfoSchema/Demo.Data.InfoSchema.csproj index 569a927..af5eb51 100644 --- a/Demos/Demo.Data.InfoSchema/Demo.Data.InfoSchema.csproj +++ b/Demos/Demo.Data.InfoSchema/Demo.Data.InfoSchema.csproj @@ -18,10 +18,10 @@ - + all - + diff --git a/Demos/Demo.Extenso.AspNetCore.Blazor.OData/Demo.Extenso.AspNetCore.Blazor.OData.csproj b/Demos/Demo.Extenso.AspNetCore.Blazor.OData/Demo.Extenso.AspNetCore.Blazor.OData.csproj index 9ec84d7..04b38b3 100644 --- a/Demos/Demo.Extenso.AspNetCore.Blazor.OData/Demo.Extenso.AspNetCore.Blazor.OData.csproj +++ b/Demos/Demo.Extenso.AspNetCore.Blazor.OData/Demo.Extenso.AspNetCore.Blazor.OData.csproj @@ -6,21 +6,21 @@ - - - - - - - - - - - + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation.csproj b/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation.csproj index 8b6a08d..58d68d1 100644 --- a/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation.csproj +++ b/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation/Extenso.AspNetCore.Mvc.ExtensoUI.Foundation.csproj @@ -16,7 +16,7 @@ - bin\Release\netstandard2.1\Extenso.AspNetCore.Mvc.ExtensoUI.Foundation.xml + bin\Release\net6.0\Extenso.AspNetCore.Mvc.ExtensoUI.Foundation.xml diff --git a/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI.csproj b/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI.csproj index 8546da3..d3ea91a 100644 --- a/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI.csproj +++ b/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI/Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI.csproj @@ -16,7 +16,7 @@ - bin\Release\netstandard2.1\Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI.xml + bin\Release\net6.0\Extenso.AspNetCore.Mvc.ExtensoUI.JQueryUI.xml diff --git a/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI.csproj b/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI.csproj index 8dcd0bd..722d3fb 100644 --- a/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI.csproj +++ b/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI/Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI.csproj @@ -16,7 +16,7 @@ - bin\Release\netstandard2.1\Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI.xml + bin\Release\net6.0\Extenso.AspNetCore.Mvc.ExtensoUI.KendoUI.xml diff --git a/Extenso.AspNetCore.Mvc.ExtensoUI/Extenso.AspNetCore.Mvc.ExtensoUI.csproj b/Extenso.AspNetCore.Mvc.ExtensoUI/Extenso.AspNetCore.Mvc.ExtensoUI.csproj index f47cec5..678503b 100644 --- a/Extenso.AspNetCore.Mvc.ExtensoUI/Extenso.AspNetCore.Mvc.ExtensoUI.csproj +++ b/Extenso.AspNetCore.Mvc.ExtensoUI/Extenso.AspNetCore.Mvc.ExtensoUI.csproj @@ -1,4 +1,4 @@ - + net6.0 @@ -16,7 +16,7 @@ - bin\Release\netstandard2.1\Extenso.AspNetCore.Mvc.ExtensoUI.xml + bin\Release\net6.0\Extenso.AspNetCore.Mvc.ExtensoUI.xml diff --git a/Extenso.AspNetCore.Mvc/Extenso.AspNetCore.Mvc.csproj b/Extenso.AspNetCore.Mvc/Extenso.AspNetCore.Mvc.csproj index f876a84..db7be41 100644 --- a/Extenso.AspNetCore.Mvc/Extenso.AspNetCore.Mvc.csproj +++ b/Extenso.AspNetCore.Mvc/Extenso.AspNetCore.Mvc.csproj @@ -15,7 +15,7 @@ - bin\Release\netstandard2.1\Extenso.AspNetCore.Mvc.xml + bin\Release\net6.0\Extenso.AspNetCore.Mvc.xml diff --git a/Extenso.AspNetCore.OData/Extenso.AspNetCore.OData.csproj b/Extenso.AspNetCore.OData/Extenso.AspNetCore.OData.csproj index 030254c..d300e8c 100644 --- a/Extenso.AspNetCore.OData/Extenso.AspNetCore.OData.csproj +++ b/Extenso.AspNetCore.OData/Extenso.AspNetCore.OData.csproj @@ -15,11 +15,11 @@ - bin\Release\netstandard2.1\Extenso.AspNetCore.OData.xml + bin\Release\net6.0\Extenso.AspNetCore.OData.xml - + diff --git a/Extenso.Core/Collections/EnumerableExtensions.cs b/Extenso.Core/Collections/EnumerableExtensions.cs index ce60394..394aaab 100644 --- a/Extenso.Core/Collections/EnumerableExtensions.cs +++ b/Extenso.Core/Collections/EnumerableExtensions.cs @@ -107,6 +107,32 @@ public static IEnumerable DistinctBy( } } + public static IEnumerable Flatten(this IEnumerable source, Func> selector) + { + var queue = new Queue(); + foreach (var item in source) + { + queue.Enqueue(item); + } + + while (queue.Count > 0) + { + var current = queue.Dequeue(); + yield return current; + + var children = selector(current); + if (children == null) + { + continue; + } + + foreach (var child in children) + { + queue.Enqueue(child); + } + } + } + /// /// Performs the specified action on each element of the System.Collections.Generic.IEnumerable`1. /// diff --git a/Extenso.Core/Extenso.Core.csproj b/Extenso.Core/Extenso.Core.csproj index 8ca84a4..b9c3295 100644 --- a/Extenso.Core/Extenso.Core.csproj +++ b/Extenso.Core/Extenso.Core.csproj @@ -12,12 +12,8 @@ 6.0.0 - - - - - bin\Release\netstandard2.1\Extenso.Core.xml + bin\Release\net6.0\Extenso.Core.xml diff --git a/Extenso.Data.Entity/Extenso.Data.Entity.csproj b/Extenso.Data.Entity/Extenso.Data.Entity.csproj index 2e32c4e..360f825 100644 --- a/Extenso.Data.Entity/Extenso.Data.Entity.csproj +++ b/Extenso.Data.Entity/Extenso.Data.Entity.csproj @@ -12,13 +12,13 @@ - bin\Release\netstandard2.1\Extenso.Data.Entity.xml + bin\Release\net6.0\Extenso.Data.Entity.xml - - - + + + diff --git a/Extenso.Data.MySql/Extenso.Data.MySql.csproj b/Extenso.Data.MySql/Extenso.Data.MySql.csproj index 2bb6a0c..4baa7c3 100644 --- a/Extenso.Data.MySql/Extenso.Data.MySql.csproj +++ b/Extenso.Data.MySql/Extenso.Data.MySql.csproj @@ -15,7 +15,7 @@ - + diff --git a/Extenso.Data.Npgsql/Extenso.Data.Npgsql.csproj b/Extenso.Data.Npgsql/Extenso.Data.Npgsql.csproj index 1b804c5..2b7af0c 100644 --- a/Extenso.Data.Npgsql/Extenso.Data.Npgsql.csproj +++ b/Extenso.Data.Npgsql/Extenso.Data.Npgsql.csproj @@ -11,11 +11,11 @@ - bin\Release\netstandard2.1\Extenso.Data.Npgsql.xml + bin\Release\net6.0\Extenso.Data.Npgsql.xml - + diff --git a/Extenso.Data.QueryBuilder.MySql/Extenso.Data.QueryBuilder.MySql.csproj b/Extenso.Data.QueryBuilder.MySql/Extenso.Data.QueryBuilder.MySql.csproj index bac5ddb..7d26cd3 100644 --- a/Extenso.Data.QueryBuilder.MySql/Extenso.Data.QueryBuilder.MySql.csproj +++ b/Extenso.Data.QueryBuilder.MySql/Extenso.Data.QueryBuilder.MySql.csproj @@ -11,7 +11,7 @@ - bin\Release\netstandard2.1\Extenso.Data.QueryBuilder.MySql.xml + bin\Release\net6.0\Extenso.Data.QueryBuilder.MySql.xml diff --git a/Extenso.Data.QueryBuilder.Npgsql/Extenso.Data.QueryBuilder.Npgsql.csproj b/Extenso.Data.QueryBuilder.Npgsql/Extenso.Data.QueryBuilder.Npgsql.csproj index e64a542..050d5a2 100644 --- a/Extenso.Data.QueryBuilder.Npgsql/Extenso.Data.QueryBuilder.Npgsql.csproj +++ b/Extenso.Data.QueryBuilder.Npgsql/Extenso.Data.QueryBuilder.Npgsql.csproj @@ -11,7 +11,7 @@ - bin\Release\netstandard2.1\Extenso.Data.QueryBuilder.Npgsql.xml + bin\Release\net6.0\Extenso.Data.QueryBuilder.Npgsql.xml diff --git a/Extenso.Data.QueryBuilder/Extenso.Data.QueryBuilder.csproj b/Extenso.Data.QueryBuilder/Extenso.Data.QueryBuilder.csproj index 157293e..de0c0cc 100644 --- a/Extenso.Data.QueryBuilder/Extenso.Data.QueryBuilder.csproj +++ b/Extenso.Data.QueryBuilder/Extenso.Data.QueryBuilder.csproj @@ -11,7 +11,7 @@ - bin\Release\netstandard2.1\Extenso.Data.QueryBuilder.xml + bin\Release\net6.0\Extenso.Data.QueryBuilder.xml diff --git a/Extenso.Data/Extenso.Data.csproj b/Extenso.Data/Extenso.Data.csproj index ba99b50..f603d03 100644 --- a/Extenso.Data/Extenso.Data.csproj +++ b/Extenso.Data/Extenso.Data.csproj @@ -11,11 +11,11 @@ - bin\Release\netstandard2.1\Extenso.Data.xml + bin\Release\net6.0\Extenso.Data.xml - + diff --git a/Extenso.Drawing/Extenso.Drawing.csproj b/Extenso.Drawing/Extenso.Drawing.csproj index 3d85f0a..9a4702b 100644 --- a/Extenso.Drawing/Extenso.Drawing.csproj +++ b/Extenso.Drawing/Extenso.Drawing.csproj @@ -11,7 +11,7 @@ - bin\Release\netstandard2.1\Extenso.Drawing.xml + bin\Release\net6.0\Extenso.Drawing.xml diff --git a/Tests/Extenso.Core.Tests/Extenso.Core.Tests.csproj b/Tests/Extenso.Core.Tests/Extenso.Core.Tests.csproj index 811d394..713fdcf 100644 --- a/Tests/Extenso.Core.Tests/Extenso.Core.Tests.csproj +++ b/Tests/Extenso.Core.Tests/Extenso.Core.Tests.csproj @@ -9,13 +9,13 @@ - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all