Skip to content

Commit eec1a11

Browse files
committed
upgrade to EF Core 10 rc-1
1 parent bd0e053 commit eec1a11

File tree

10 files changed

+54
-47
lines changed

10 files changed

+54
-47
lines changed

Directory.Build.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<Copyright>(c) $([System.DateTime]::Now.Year), Pawel Gerr. All rights reserved.</Copyright>
5-
<VersionPrefix>9.2.1</VersionPrefix>
5+
<VersionPrefix>10.0.0</VersionPrefix>
66
<Authors>Pawel Gerr</Authors>
77
<GenerateDocumentationFile>true</GenerateDocumentationFile>
88
<PackageProjectUrl>https://dev.azure.com/pawelgerr/Thinktecture.EntityFrameworkCore</PackageProjectUrl>
@@ -12,8 +12,8 @@
1212
<RepositoryUrl>https://[email protected]/pawelgerr/Thinktecture.EntityFrameworkCore/_git/Thinktecture.EntityFrameworkCore</RepositoryUrl>
1313
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
1414
<RootNamespace>Thinktecture</RootNamespace>
15-
<TargetFrameworks>net8.0;net9.0;</TargetFrameworks>
16-
<LangVersion>13.0</LangVersion>
15+
<TargetFrameworks>net10.0;</TargetFrameworks>
16+
<LangVersion>14.0</LangVersion>
1717
<Nullable>enable</Nullable>
1818
<NoWarn>$(NoWarn);CA1303;MSB3884;</NoWarn>
1919
<ImplicitUsings>enable</ImplicitUsings>

Directory.Packages.props

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
<ItemGroup>
33
<PackageVersion Include="BenchmarkDotNet" Version="0.15.4" />
44
<PackageVersion Include="AwesomeAssertions" Version="9.2.0" />
5-
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.3" />
6-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.9" />
7-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.9" />
8-
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.9" />
9-
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.9" />
10-
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.9" />
11-
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.9" />
12-
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.9" />
13-
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.9" />
14-
<PackageVersion Include="Microsoft.Extensions.ObjectPool" Version="9.0.9" />
5+
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.1.2" />
6+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0-rc.1.25451.107" />
7+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="10.0.0-rc.1.25451.107" />
8+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.0-rc.1.25451.107" />
9+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.0-rc.1.25451.107" />
10+
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.0-rc.1.25451.107" />
11+
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="10.0.0-rc.1.25451.107" />
12+
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.0-rc.1.25451.107" />
13+
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="10.0.0-rc.1.25451.107" />
14+
<PackageVersion Include="Microsoft.Extensions.ObjectPool" Version="10.0.0-rc.1.25451.107" />
1515
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
1616
<PackageVersion Include="Microsoft.SourceLink.AzureRepos.Git" Version="8.0.0" PrivateAssets="all" />
1717
<PackageVersion Include="NSubstitute" Version="5.3.0" />

azure-pipelines.yml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,13 @@ pool:
1616
steps:
1717

1818
- task: UseDotNet@2
19-
displayName: 'use .NET 8.0 SDK'
19+
displayName: 'use .NET 10.0 SDK'
2020
inputs:
2121
packageType: sdk
22-
version: 8.0.x
23-
includePreviewVersions: false
22+
version: 10.0.x
23+
includePreviewVersions: true
2424
installationPath: $(Agent.ToolsDirectory)/dotnet
25-
26-
- task: UseDotNet@2
27-
displayName: 'use .NET 9.0 SDK'
28-
inputs:
29-
packageType: sdk
30-
version: 9.0.x
31-
includePreviewVersions: false
32-
installationPath: $(Agent.ToolsDirectory)/dotnet
33-
25+
3426
- script: |
3527
echo dotnet --version
3628
dotnet --version
@@ -70,6 +62,12 @@ steps:
7062
inputs:
7163
artifactName: 'NugetPackages'
7264

65+
- script: |
66+
sudo apt-get update
67+
sudo apt-get install -y mono-complete
68+
displayName: 'install mono'
69+
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
70+
7371
- task: NuGetCommand@2
7472
displayName: 'push to nuget.org'
7573
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"sdk": {
3-
"version": "8.0.0",
3+
"version": "10.0.0",
44
"rollForward": "latestMajor",
5-
"allowPrerelease": false
5+
"allowPrerelease": true
66
}
77
}

samples/Directory.Build.props

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,4 @@
77

88
<Import Condition="exists('$(ParentPropsFile)') " Project="$(ParentPropsFile)"/>
99

10-
<PropertyGroup>
11-
<TargetFramework>net9.0</TargetFramework>
12-
</PropertyGroup>
13-
1410
</Project>

src/Thinktecture.EntityFrameworkCore.Relational/EntityFrameworkCore/Query/ThinktectureRelationalQueryContextFactory.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System.Diagnostics.CodeAnalysis;
22
using Microsoft.EntityFrameworkCore.Query;
3-
using Microsoft.EntityFrameworkCore.Query.Internal;
43
using Thinktecture.EntityFrameworkCore.Infrastructure;
54

65
namespace Thinktecture.EntityFrameworkCore.Query;
@@ -47,9 +46,9 @@ public QueryContext Create()
4746
/// </summary>
4847
/// <param name="ctx">Query context.</param>
4948
[SuppressMessage("Usage", "EF1001", MessageId = "Internal EF Core API usage.")]
50-
private void AddTenantParameter(IParameterValues ctx)
49+
private void AddTenantParameter(QueryContext ctx)
5150
{
5251
var tenantDatabaseProvider = _tenantDatabaseProviderFactory.Create();
53-
ctx.AddParameter($"{_TENANT_PARAM_PREFIX}|{tenantDatabaseProvider.Tenant}", null);
52+
ctx.Parameters.Add($"{_TENANT_PARAM_PREFIX}|{tenantDatabaseProvider.Tenant}", null);
5453
}
5554
}
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Diagnostics.CodeAnalysis;
22
using System.Linq.Expressions;
33
using Microsoft.EntityFrameworkCore.Query;
4+
using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal;
45
using Microsoft.EntityFrameworkCore.SqlServer.Query.Internal;
56

67
namespace Thinktecture.EntityFrameworkCore.Query;
@@ -9,20 +10,24 @@ namespace Thinktecture.EntityFrameworkCore.Query;
910
[SuppressMessage("Usage", "EF1001", MessageId = "Internal EF Core API usage.")]
1011
public class ThinktectureSqlServerParameterBasedSqlProcessor : SqlServerParameterBasedSqlProcessor
1112
{
13+
private readonly ISqlServerSingletonOptions _sqlServerSingletonOptions;
14+
1215
/// <inheritdoc />
1316
public ThinktectureSqlServerParameterBasedSqlProcessor(
1417
RelationalParameterBasedSqlProcessorDependencies dependencies,
15-
RelationalParameterBasedSqlProcessorParameters parameters)
16-
: base(dependencies, parameters)
18+
RelationalParameterBasedSqlProcessorParameters parameters,
19+
ISqlServerSingletonOptions sqlServerSingletonOptions)
20+
: base(dependencies, parameters, sqlServerSingletonOptions)
1721
{
22+
_sqlServerSingletonOptions = sqlServerSingletonOptions;
1823
}
1924

2025
/// <inheritdoc />
21-
protected override Expression ProcessSqlNullability(Expression selectExpression, IReadOnlyDictionary<string, object?> parametersValues, out bool canCache)
26+
protected override Expression ProcessSqlNullability(Expression selectExpression, ParametersCacheDecorator decorator)
2227
{
2328
ArgumentNullException.ThrowIfNull(selectExpression);
24-
ArgumentNullException.ThrowIfNull(parametersValues);
29+
ArgumentNullException.ThrowIfNull(decorator);
2530

26-
return new ThinktectureSqlServerSqlNullabilityProcessor(Dependencies, Parameters).Process(selectExpression, parametersValues, out canCache);
31+
return new ThinktectureSqlServerSqlNullabilityProcessor(Dependencies, Parameters, _sqlServerSingletonOptions).Process(selectExpression, decorator);
2732
}
2833
}
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
1+
using System.Diagnostics.CodeAnalysis;
12
using Microsoft.EntityFrameworkCore.Query;
3+
using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal;
24

35
namespace Thinktecture.EntityFrameworkCore.Query;
46

57
/// <inheritdoc />
8+
[SuppressMessage("Usage", "EF1001:Internal EF Core API usage.")]
69
public class ThinktectureSqlServerParameterBasedSqlProcessorFactory : IRelationalParameterBasedSqlProcessorFactory
710
{
811
private readonly RelationalParameterBasedSqlProcessorDependencies _dependencies;
12+
private readonly ISqlServerSingletonOptions _sqlServerSingletonOptions;
913

1014
/// <summary>
1115
/// Initializes <see cref="ThinktectureSqlServerParameterBasedSqlProcessorFactory"/>.
1216
/// </summary>
1317
/// <param name="dependencies">Dependencies.</param>
18+
/// <param name="sqlServerSingletonOptions">Options.</param>
1419
public ThinktectureSqlServerParameterBasedSqlProcessorFactory(
15-
RelationalParameterBasedSqlProcessorDependencies dependencies)
20+
RelationalParameterBasedSqlProcessorDependencies dependencies,
21+
ISqlServerSingletonOptions sqlServerSingletonOptions)
1622
{
1723
_dependencies = dependencies;
24+
_sqlServerSingletonOptions = sqlServerSingletonOptions;
1825
}
1926

2027
/// <inheritdoc />
2128
public RelationalParameterBasedSqlProcessor Create(RelationalParameterBasedSqlProcessorParameters parameters)
2229
{
23-
return new ThinktectureSqlServerParameterBasedSqlProcessor(_dependencies, parameters);
30+
return new ThinktectureSqlServerParameterBasedSqlProcessor(_dependencies, parameters, _sqlServerSingletonOptions);
2431
}
2532
}

src/Thinktecture.EntityFrameworkCore.SqlServer/EntityFrameworkCore/Query/ThinktectureSqlServerSqlNullabilityProcessor.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Diagnostics.CodeAnalysis;
22
using Microsoft.EntityFrameworkCore.Query;
33
using Microsoft.EntityFrameworkCore.Query.SqlExpressions;
4+
using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal;
45
using Microsoft.EntityFrameworkCore.SqlServer.Query.Internal;
56
using Thinktecture.EntityFrameworkCore.Query.SqlExpressions;
67

@@ -15,8 +16,9 @@ public class ThinktectureSqlServerSqlNullabilityProcessor : SqlServerSqlNullabil
1516
/// <inheritdoc />
1617
public ThinktectureSqlServerSqlNullabilityProcessor(
1718
RelationalParameterBasedSqlProcessorDependencies dependencies,
18-
RelationalParameterBasedSqlProcessorParameters parameters)
19-
: base(dependencies, parameters)
19+
RelationalParameterBasedSqlProcessorParameters parameters,
20+
ISqlServerSingletonOptions sqlServerSingletonOptions)
21+
: base(dependencies, parameters, sqlServerSingletonOptions)
2022
{
2123
}
2224

src/Thinktecture.EntityFrameworkCore.Sqlite/EntityFrameworkCore/Query/ThinktectureRelationalParameterBasedSqlProcessor.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ public ThinktectureSqliteParameterBasedSqlProcessor(
2020
}
2121

2222
/// <inheritdoc />
23-
protected override Expression ProcessSqlNullability(Expression expression, IReadOnlyDictionary<string, object?> parametersValues, out bool canCache)
23+
protected override Expression ProcessSqlNullability(Expression selectExpression, ParametersCacheDecorator decorator)
2424
{
25-
ArgumentNullException.ThrowIfNull(expression);
26-
ArgumentNullException.ThrowIfNull(parametersValues);
25+
ArgumentNullException.ThrowIfNull(selectExpression);
26+
ArgumentNullException.ThrowIfNull(decorator);
2727

28-
return new ThinktectureSqlNullabilityProcessor(Dependencies, Parameters).Process(expression, parametersValues, out canCache);
28+
return new ThinktectureSqlNullabilityProcessor(Dependencies, Parameters).Process(selectExpression, decorator);
2929
}
3030
}

0 commit comments

Comments
 (0)