Skip to content

Commit a317fcb

Browse files
authored
Merge pull request #142 from PhenX/feature/net10
Add support for .NET 10
2 parents 552908d + a405d8b commit a317fcb

File tree

73 files changed

+298
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+298
-15
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,9 @@ jobs:
2727
steps:
2828
- uses: actions/checkout@v2
2929
- name: Setup .NET
30-
uses: actions/setup-dotnet@v1
30+
uses: actions/setup-dotnet@v5
3131
with:
32-
dotnet-version: |
33-
8.0.x
34-
9.0.x
32+
dotnet-version: 10.0.x
3533
- name: Restore dependencies
3634
run: dotnet restore
3735
- name: Build
@@ -46,9 +44,9 @@ jobs:
4644
steps:
4745
- uses: actions/checkout@v2
4846
- name: Setup .NET
49-
uses: actions/setup-dotnet@v1
47+
uses: actions/setup-dotnet@v5
5048
with:
51-
dotnet-version: 9.0.x
49+
dotnet-version: 10.0.x
5250
- name: Pack
5351
run: |
5452
dotnet pack -v normal -c Debug --include-symbols --include-source -p:PackageVersion=4.0.0-pre-$GITHUB_RUN_ID -o nupkg

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ jobs:
2424
steps:
2525
- uses: actions/checkout@v2
2626
- name: Setup .NET Core
27-
uses: actions/setup-dotnet@v1
27+
uses: actions/setup-dotnet@v5
2828
with:
29-
dotnet-version: 9.0.x
29+
dotnet-version: 10.0.x
3030
include-prerelease: True
3131
- name: Create Release NuGet package
3232
run: |

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
44
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
55
<LangVersion>12.0</LangVersion>
66
<Nullable>enable</Nullable>

Directory.Packages.props

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,21 @@
66
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
77
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.0" />
88
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
9+
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.8.3" />
910
</ItemGroup>
1011
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
1112
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="9.0.0" />
1213
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0" />
1314
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" />
15+
<PackageVersion Include="Basic.Reference.Assemblies.Net90" Version="1.8.3" />
16+
</ItemGroup>
17+
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
18+
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0" />
19+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.0" />
20+
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.0" />
21+
<PackageVersion Include="Basic.Reference.Assemblies.Net100" Version="1.8.3" />
1422
</ItemGroup>
1523
<ItemGroup>
16-
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.7.9" />
1724
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
1825
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
1926
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.1" />

EntityFrameworkCore.Projectables.sln

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1919
.editorconfig = .editorconfig
2020
Directory.Build.props = Directory.Build.props
2121
Directory.Packages.props = Directory.Packages.props
22+
.gitattributes = .gitattributes
23+
.gitignore = .gitignore
24+
global.json = global.json
25+
LICENSE.md = LICENSE.md
26+
README.md = README.md
2227
EndProjectSection
2328
EndProject
2429
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EntityFrameworkCore.Projectables", "src\EntityFrameworkCore.Projectables\EntityFrameworkCore.Projectables.csproj", "{EE4D6CC1-78DE-4279-A567-C3D360C479F8}"

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "9.0.100",
3+
"version": "10.0.100",
44
"rollForward": "latestMinor"
55
}
66
}

src/EntityFrameworkCore.Projectables.Generator/EntityFrameworkCore.Projectables.Generator.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.0</TargetFramework>
4+
<!-- Override TargetFrameworks with an "s" from Directory.Build.props settings as needed -->
5+
<TargetFrameworks>netstandard2.0;</TargetFrameworks>
56
<NoWarn>$(NoWarn);NU5128</NoWarn>
67
<IsPackable>false</IsPackable>
78
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>

src/EntityFrameworkCore.Projectables/Infrastructure/Internal/ProjectablesExpandQueryFiltersConvention.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,36 @@ public void ProcessModelFinalizing(
1515
{
1616
foreach (var entityType in modelBuilder.Metadata.GetEntityTypes())
1717
{
18+
#if NET10_0_OR_GREATER
19+
var queryFilter = entityType.GetDeclaredQueryFilters();
20+
21+
foreach (var filter in queryFilter)
22+
{
23+
if (filter.Expression == null)
24+
{
25+
continue;
26+
}
27+
28+
var expandedExpression = filter.Expression.ExpandProjectables() as LambdaExpression;
29+
30+
// Expands query filters
31+
if (filter.Key != null)
32+
{
33+
entityType.SetQueryFilter(filter.Key, expandedExpression);
34+
}
35+
else
36+
{
37+
entityType.SetQueryFilter(expandedExpression);
38+
}
39+
}
40+
#else
1841
var queryFilter = entityType.GetQueryFilter();
1942
if (queryFilter != null)
2043
{
2144
// Expands query filters
2245
entityType.SetQueryFilter(queryFilter.ExpandProjectables() as LambdaExpression);
2346
}
47+
#endif
2448
}
2549
}
2650
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
DECLARE @validArray1 int = 1;
2+
DECLARE @validArray2 int = 2;
3+
DECLARE @validArray3 int = 3;
4+
5+
SELECT [t].[Id]
6+
FROM [TestEntity] AS [t]
7+
WHERE [t].[Id] IN (@validArray1, @validArray2, @validArray3)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
DECLARE @validList1 int = 1;
2+
DECLARE @validList2 int = 2;
3+
DECLARE @validList3 int = 3;
4+
5+
SELECT [t].[Id]
6+
FROM [TestEntity] AS [t]
7+
WHERE [t].[Id] IN (@validList1, @validList2, @validList3)

0 commit comments

Comments
 (0)