Skip to content
This repository was archived by the owner on Feb 1, 2025. It is now read-only.

Commit f4d6173

Browse files
committed
Updated to EF Core 6.0.0 and linq2db 3.5.1
1 parent fc8c99b commit f4d6173

File tree

6 files changed

+26
-25
lines changed

6 files changed

+26
-25
lines changed

Build/linq2db.Default.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<PropertyGroup>
3-
<Version>6.4.0</Version>
3+
<Version>6.5.0</Version>
44

55
<Authors>Svyatoslav Danyliv, Igor Tkachev, Dmitry Lukashenko, Ilya Chudin</Authors>
66
<Product>Linq to DB</Product>

Directory.Packages.props

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
<PackageVersion Include="NUnit" Version="3.13.2" />
66
<PackageVersion Include="FluentAssertions" Version="5.10.3" />
77

8-
<PackageVersion Include="linq2db" Version="3.5.0" />
8+
<PackageVersion Include="linq2db" Version="3.5.1" />
99
<PackageVersion Include="linq2db.Tools" Version="3.5.0" />
1010

1111
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
1212

13-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.0-preview.6.21352.1" />
14-
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.0-preview.6.21352.1" />
13+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.0" />
14+
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.0" />
1515

16-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0-preview.6.21352.12" />
17-
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="6.0.0-preview.6.21352.12" />
16+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0" />
17+
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" />
1818

19-
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.0-preview.5" />
20-
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.0-preview6" />
21-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.0-preview.6.21352.1" />
22-
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.0-preview.6.21352.1" />
19+
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.0-preview.7" />
20+
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.0-rc.2" />
21+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.0" />
22+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.0" />
2323
</ItemGroup>
2424
</Project>

NuGet/linq2db.EntityFrameworkCore.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<license type="file">MIT-LICENSE.txt</license>
1616
<dependencies>
1717
<group targetFramework="net6.0">
18-
<dependency id="Microsoft.EntityFrameworkCore.Relational" version="6.0.0-preview.6.21352.1" />
19-
<dependency id="linq2db" version="3.5.0" />
18+
<dependency id="Microsoft.EntityFrameworkCore.Relational" version="6.0.0" />
19+
<dependency id="linq2db" version="3.5.1" />
2020
</group>
2121
</dependencies>
2222
</metadata>

Source/LinqToDB.EntityFrameworkCore/Internal/EFCoreExpressionAttribute.cs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace LinqToDB.EntityFrameworkCore.Internal
99
{
1010
/// <summary>
11-
/// Maps linq2db exression.
11+
/// Maps linq2db expression.
1212
/// </summary>
1313
public class EFCoreExpressionAttribute : Sql.ExpressionAttribute
1414
{
@@ -20,12 +20,13 @@ public EFCoreExpressionAttribute(string expression) : base(expression)
2020
{
2121
}
2222

23-
/// <inheritdoc cref="Sql.ExpressionAttribute.GetExpression(IDataContext, SelectQuery, System.Linq.Expressions.Expression, Func{Expression, ColumnDescriptor?, ISqlExpression})" />
24-
public override ISqlExpression GetExpression(
23+
/// <inheritdoc />
24+
public override ISqlExpression? GetExpression<TContext>(
25+
TContext context,
2526
IDataContext dataContext,
2627
SelectQuery query,
2728
Expression expression,
28-
Func<Expression, ColumnDescriptor?, ISqlExpression> converter)
29+
Func<TContext, Expression, ColumnDescriptor?, ISqlExpression> converter)
2930
{
3031
var knownExpressions = new List<Expression>();
3132
if (expression.NodeType == ExpressionType.Call)
@@ -41,20 +42,20 @@ public override ISqlExpression GetExpression(
4142
knownExpressions.Add(me.Expression!);
4243
}
4344

44-
var pams = new List<ISqlExpression?>(knownExpressions.Select(_ => (ISqlExpression?) null));
45+
var parms = new List<ISqlExpression?>(knownExpressions.Select(_ => (ISqlExpression?) null));
4546

46-
_ = Sql.ExtensionAttribute.ResolveExpressionValues(Expression!,
47-
(v, d) =>
47+
_ = ResolveExpressionValues((context, parms, knownExpressions, converter), Expression!,
48+
static (ctx, v, d) =>
4849
{
4950
var idx = int.Parse(v);
5051

51-
if (pams[idx] == null)
52-
pams[idx] = converter(knownExpressions[idx], null);
52+
if (ctx.parms[idx] == null)
53+
ctx.parms[idx] = ctx.converter(ctx.context, ctx.knownExpressions[idx], null);
5354

5455
return v;
5556
});
5657

57-
var parameters = pams.Select(p => p ?? new SqlExpression("!!!")).ToArray();
58+
var parameters = parms.Select(p => p ?? new SqlExpression("!!!")).ToArray();
5859
return new SqlExpression(expression.Type, Expression!, Precedence, parameters);
5960
}
6061
}

Source/LinqToDB.EntityFrameworkCore/LinqToDBForEFToolsImplDefault.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,10 +1056,10 @@ static bool IsEnumerableType(Type type, MappingSchema mappingSchema)
10561056
if (queryContextFactoryField.GetValue(compiler) is not RelationalQueryContextFactory queryContextFactory)
10571057
throw new LinqToDBForEFToolsException("LinqToDB Tools for EFCore support only Relational Databases.");
10581058

1059-
var dependenciesProperty = typeof(RelationalQueryContextFactory).GetField("_dependencies", BindingFlags.NonPublic | BindingFlags.Instance);
1059+
var dependenciesProperty = typeof(RelationalQueryContextFactory).GetProperty("Dependencies", BindingFlags.NonPublic | BindingFlags.Instance);
10601060

10611061
if (dependenciesProperty == null)
1062-
throw new LinqToDBForEFToolsException($"Can not find private property '{nameof(RelationalQueryContextFactory)}._dependencies' in current EFCore Version.");
1062+
throw new LinqToDBForEFToolsException($"Can not find protected property '{nameof(RelationalQueryContextFactory)}._dependencies' in current EFCore Version.");
10631063

10641064
var dependencies = (QueryContextDependencies) dependenciesProperty.GetValue(queryContextFactory)!;
10651065

Tests/LinqToDB.EntityFrameworkCore.SqlServer.Tests/Models/Inheritance/InheritanceContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ private void VersionEntity()
5555

5656
foreach (var modifiedEntry in modifiedEntries)
5757
{
58-
var cloned = (IVersionable)Activator.CreateInstance(modifiedEntry.Entity.GetType());
58+
var cloned = (IVersionable)Activator.CreateInstance(modifiedEntry.Entity.GetType())!;
5959
modifiedEntry.CurrentValues.SetValues(cloned);
6060

6161
// rollback

0 commit comments

Comments
 (0)