From af90a7c1ce0235b24196b2877d80177308b65ab8 Mon Sep 17 00:00:00 2001 From: Svyatoslav Danyliv Date: Thu, 11 Nov 2021 21:24:16 +0200 Subject: [PATCH] Updated to linq2db 3.5.2 --- Build/linq2db.Default.props | 2 +- Directory.Packages.props | 10 ++++----- NuGet/linq2db.EntityFrameworkCore.nuspec | 4 ++-- .../Internal/EFCoreExpressionAttribute.cs | 21 ++++++++++--------- .../LinqToDBForEFToolsImplDefault.cs | 2 ++ .../ToolsTests.cs | 2 ++ azure-pipelines.yml | 4 ++-- 7 files changed, 25 insertions(+), 20 deletions(-) diff --git a/Build/linq2db.Default.props b/Build/linq2db.Default.props index 7f11319..d946dd5 100644 --- a/Build/linq2db.Default.props +++ b/Build/linq2db.Default.props @@ -1,6 +1,6 @@  - 3.16.0 + 3.17.0 Svyatoslav Danyliv, Igor Tkachev, Dmitry Lukashenko, Ilya Chudin Linq to DB diff --git a/Directory.Packages.props b/Directory.Packages.props index 4487302..ca07c8b 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,15 +5,15 @@ - - + + - + - - + + diff --git a/NuGet/linq2db.EntityFrameworkCore.nuspec b/NuGet/linq2db.EntityFrameworkCore.nuspec index e46b29e..cea960e 100644 --- a/NuGet/linq2db.EntityFrameworkCore.nuspec +++ b/NuGet/linq2db.EntityFrameworkCore.nuspec @@ -15,8 +15,8 @@ MIT-LICENSE.txt - - + + diff --git a/Source/LinqToDB.EntityFrameworkCore/Internal/EFCoreExpressionAttribute.cs b/Source/LinqToDB.EntityFrameworkCore/Internal/EFCoreExpressionAttribute.cs index 5653c4f..ba3ecc6 100644 --- a/Source/LinqToDB.EntityFrameworkCore/Internal/EFCoreExpressionAttribute.cs +++ b/Source/LinqToDB.EntityFrameworkCore/Internal/EFCoreExpressionAttribute.cs @@ -8,7 +8,7 @@ namespace LinqToDB.EntityFrameworkCore.Internal { /// - /// Maps linq2db exression. + /// Maps linq2db expression. /// public class EFCoreExpressionAttribute : Sql.ExpressionAttribute { @@ -20,12 +20,13 @@ public EFCoreExpressionAttribute(string expression) : base(expression) { } - /// - public override ISqlExpression GetExpression( + /// + public override ISqlExpression? GetExpression( + TContext context, IDataContext dataContext, SelectQuery query, Expression expression, - Func converter) + Func converter) { var knownExpressions = new List(); if (expression.NodeType == ExpressionType.Call) @@ -41,20 +42,20 @@ public override ISqlExpression GetExpression( knownExpressions.Add(me.Expression!); } - var pams = new List(knownExpressions.Select(_ => (ISqlExpression?) null)); + var parms = new List(knownExpressions.Select(_ => (ISqlExpression?) null)); - _ = Sql.ExtensionAttribute.ResolveExpressionValues(Expression!, - (v, d) => + _ = ResolveExpressionValues((context, parms, knownExpressions, converter), Expression!, + static (ctx, v, d) => { var idx = int.Parse(v); - if (pams[idx] == null) - pams[idx] = converter(knownExpressions[idx], null); + if (ctx.parms[idx] == null) + ctx.parms[idx] = ctx.converter(ctx.context, ctx.knownExpressions[idx], null); return v; }); - var parameters = pams.Select(p => p ?? new SqlExpression("!!!")).ToArray(); + var parameters = parms.Select(p => p ?? new SqlExpression("!!!")).ToArray(); return new SqlExpression(expression.Type, Expression!, Precedence, parameters); } } diff --git a/Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs b/Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs index 7c89403..31e704d 100644 --- a/Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs +++ b/Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs @@ -1101,6 +1101,7 @@ public virtual void LogConnectionTrace(TraceInfo info, ILogger logger) _ => LogLevel.Trace, }; +#pragma warning disable CA1848 // Use the LoggerMessage delegates using var _ = logger.BeginScope("TraceInfoStep: {TraceInfoStep}, IsAsync: {IsAsync}", info.TraceInfoStep, info.IsAsync); switch (info.TraceInfoStep) @@ -1139,6 +1140,7 @@ public virtual void LogConnectionTrace(TraceInfo info, ILogger logger) break; } } +#pragma warning restore CA1848 // Use the LoggerMessage delegates } /// diff --git a/Tests/LinqToDB.EntityFrameworkCore.SqlServer.Tests/ToolsTests.cs b/Tests/LinqToDB.EntityFrameworkCore.SqlServer.Tests/ToolsTests.cs index ac74859..9809ba6 100644 --- a/Tests/LinqToDB.EntityFrameworkCore.SqlServer.Tests/ToolsTests.cs +++ b/Tests/LinqToDB.EntityFrameworkCore.SqlServer.Tests/ToolsTests.cs @@ -407,7 +407,9 @@ public async Task TestAsyncMethods([Values(true, false)] bool enableFilter) { using (var ctx = CreateContext(enableFilter)) { +#pragma warning disable CA1847 // Use char literal for a single character lookup var query = ctx.Products.AsQueryable().Where(p => p.ProductName.Contains("a")); +#pragma warning restore CA1847 // Use char literal for a single character lookup var expectedArray = await query.ToArrayAsync(); var expectedDictionary = await query.ToDictionaryAsync(p => p.ProductId); diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 12d36e1..e948f6c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,8 +1,8 @@ variables: solution: 'linq2db.EFCore.sln' build_configuration: 'Release' - assemblyVersion: 3.16.0 - nugetVersion: 3.16.0 + assemblyVersion: 3.17.0 + nugetVersion: 3.17.0 artifact_nugets: 'nugets' # build on commits to important branches (master + release branches):