From b949b7b7ccd8e19d81b92600f8f06a42f0309ad7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Nov 2022 20:43:44 +0000 Subject: [PATCH 1/3] Update actions/setup-dotnet action to v3 (#3206) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/GenerateAsyncCode.yml | 2 +- .github/workflows/NetCoreTests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/GenerateAsyncCode.yml b/.github/workflows/GenerateAsyncCode.yml index 84f474ec756..2a28aa4e5dd 100644 --- a/.github/workflows/GenerateAsyncCode.yml +++ b/.github/workflows/GenerateAsyncCode.yml @@ -19,7 +19,7 @@ jobs: token: ${{ secrets.NHIBERNATE_BOT_TOKEN }} - name: Setup .NET - uses: actions/setup-dotnet@v2 + uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x diff --git a/.github/workflows/NetCoreTests.yml b/.github/workflows/NetCoreTests.yml index 6537008b100..5bd6bdbc64b 100644 --- a/.github/workflows/NetCoreTests.yml +++ b/.github/workflows/NetCoreTests.yml @@ -54,7 +54,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup .NET - uses: actions/setup-dotnet@v2 + uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x From 67ee58c5eeda1f180bc2280e51c2fe2a9fbd2426 Mon Sep 17 00:00:00 2001 From: Gunnar Liljas Date: Mon, 19 Dec 2022 17:50:22 +0100 Subject: [PATCH 2/3] MappedAs was left hanging in subqueries --- src/NHibernate.Test/Linq/ByMethod/MappedAsTests.cs | 1 + src/NHibernate.Test/Linq/ParameterTypeLocatorTests.cs | 10 ++++++++++ src/NHibernate/Linq/Visitors/ParameterTypeLocator.cs | 1 + 3 files changed, 12 insertions(+) diff --git a/src/NHibernate.Test/Linq/ByMethod/MappedAsTests.cs b/src/NHibernate.Test/Linq/ByMethod/MappedAsTests.cs index f87cff8af92..6528693f58a 100644 --- a/src/NHibernate.Test/Linq/ByMethod/MappedAsTests.cs +++ b/src/NHibernate.Test/Linq/ByMethod/MappedAsTests.cs @@ -17,6 +17,7 @@ public void WithUnaryExpression() db.Orders.Where(o => o.Freight == (-num).MappedAs(NHibernateUtil.Decimal)).ToList(); db.Orders.Where(o => o.Freight == ((decimal) num).MappedAs(NHibernateUtil.Decimal)).ToList(); db.Orders.Where(o => o.Freight == ((decimal?) (decimal) num).MappedAs(NHibernateUtil.Decimal)).ToList(); + db.Orders.Where(o => db.Orders.Where(o2 => o2.Freight == (-num).MappedAs(NHibernateUtil.Decimal)).Contains(o)).ToList(); } [Test] diff --git a/src/NHibernate.Test/Linq/ParameterTypeLocatorTests.cs b/src/NHibernate.Test/Linq/ParameterTypeLocatorTests.cs index 771d5c9fd73..e39a5f8eb4d 100644 --- a/src/NHibernate.Test/Linq/ParameterTypeLocatorTests.cs +++ b/src/NHibernate.Test/Linq/ParameterTypeLocatorTests.cs @@ -212,6 +212,16 @@ public void ContainsStringEnumTest() db.Users.Where(o => values.Contains(o.Name == o.Name ? o.Enum1 : o.NullableEnum1.Value)), db.Timesheets.Where(o => o.Users.Any(u => values.Contains(u.Enum1))) ); + + AssertResults( + new Dictionary> + { + {"0", o => o is Int32Type}, + {"value(NHibernate.DomainModel.Northwind.Entities.EnumStoredAsString[])", o => o is EnumStoredAsStringType} + }, + db.Timesheets.Where(o => o.Users.Where(u => u.Id > 0).Any(u => values.Contains(u.Enum1))), + db.Timesheets.Where(o => o.Users.Any(u => u.Id > 0 && values.Contains(u.Enum1))) + ); } [Test] diff --git a/src/NHibernate/Linq/Visitors/ParameterTypeLocator.cs b/src/NHibernate/Linq/Visitors/ParameterTypeLocator.cs index eeb458568d0..f37e1422535 100644 --- a/src/NHibernate/Linq/Visitors/ParameterTypeLocator.cs +++ b/src/NHibernate/Linq/Visitors/ParameterTypeLocator.cs @@ -302,6 +302,7 @@ private bool TryLinkContainsMethod(QueryModel queryModel) // ContainsResultOperator where the constant expression is dislocated from the related expression, // we have to manually link the related expressions. if (queryModel.ResultOperators.Count != 1 || + queryModel.BodyClauses.Count > 0 || !(queryModel.ResultOperators[0] is ContainsResultOperator containsOperator) || !(queryModel.SelectClause.Selector is QuerySourceReferenceExpression querySourceReference) || !(querySourceReference.ReferencedQuerySource is MainFromClause mainFromClause)) From feeaedf68f0ded48248973186849a2d97447cb90 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Dec 2022 16:58:47 +0000 Subject: [PATCH 3/3] Generate async files --- src/NHibernate.Test/Async/Linq/ByMethod/MappedAsTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NHibernate.Test/Async/Linq/ByMethod/MappedAsTests.cs b/src/NHibernate.Test/Async/Linq/ByMethod/MappedAsTests.cs index af79cd5f272..933150fd09d 100644 --- a/src/NHibernate.Test/Async/Linq/ByMethod/MappedAsTests.cs +++ b/src/NHibernate.Test/Async/Linq/ByMethod/MappedAsTests.cs @@ -28,6 +28,7 @@ public async Task WithUnaryExpressionAsync() await (db.Orders.Where(o => o.Freight == (-num).MappedAs(NHibernateUtil.Decimal)).ToListAsync()); await (db.Orders.Where(o => o.Freight == ((decimal) num).MappedAs(NHibernateUtil.Decimal)).ToListAsync()); await (db.Orders.Where(o => o.Freight == ((decimal?) (decimal) num).MappedAs(NHibernateUtil.Decimal)).ToListAsync()); + await (db.Orders.Where(o => db.Orders.Where(o2 => o2.Freight == (-num).MappedAs(NHibernateUtil.Decimal)).Contains(o)).ToListAsync()); } [Test]