Skip to content

Commit b7e5191

Browse files
authored
Use Testcontainers.MsSql for unit tests (#820)
* Use Testcontainers.MsSql * x * . * windows-2022 * ubuntu * inmem * $"System.Linq.Dynamic.Core.{Guid.NewGuid()}" * fix * ubuntu-latest * fix linux * Run Tests EF net461 * contains * Linux - no461 * net8.0 / UseInMemory: 'true' * UseInMemory: 'true' * remove net461 * EF * -- * test projects * --- * - * x
1 parent 0e2e1ee commit b7e5191

File tree

51 files changed

+1260
-1669
lines changed

Some content is hidden

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

51 files changed

+1260
-1669
lines changed

.github/workflows/ci.yml

+35-19
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,58 @@ name: Build with Tests
33
on: [push]
44

55
jobs:
6-
build:
7-
runs-on: windows-2022
6+
build_and_test_Windows:
7+
name: Build and run Tests on Windows
8+
runs-on: windows-latest
89

910
env:
1011
IsRunningOnGitHubActions: 'true'
12+
UseInMemory: 'true'
1113

1214
steps:
13-
- uses: actions/checkout@v2
15+
- uses: actions/checkout@v4
16+
17+
- name: Build
18+
run: |
19+
dotnet build ./src/System.Linq.Dynamic.Core/System.Linq.Dynamic.Core.csproj -c Release -p:buildType=azure-pipelines-ci
20+
21+
- name: Run Tests EFCore net8.0
22+
run: |
23+
dotnet test ./test/System.Linq.Dynamic.Core.Tests/System.Linq.Dynamic.Core.Tests.csproj -c Release -p:buildType=azure-pipelines-ci
24+
25+
build_and_test_Linux:
26+
name: Build and run Tests on Linux
27+
runs-on: ubuntu-latest
1428

15-
- uses: actions/setup-dotnet@v3
29+
env:
30+
IsRunningOnGitHubActions: 'true'
31+
32+
steps:
33+
- uses: actions/checkout@v4
34+
35+
- uses: actions/setup-dotnet@v4
1636
with:
17-
dotnet-version: |
37+
dotnet-version: |
1838
6.0.x
1939
7.0.x
2040
8.0.x
2141
22-
- name: Build Projects
42+
- name: Build
2343
run: |
2444
dotnet build ./src/System.Linq.Dynamic.Core/System.Linq.Dynamic.Core.csproj -c Release -p:buildType=azure-pipelines-ci
2545
26-
- name: Run Tests net8.0
46+
- name: Run Tests EF net8.0
2747
run: |
28-
dotnet build ./test/System.Linq.Dynamic.Core.Tests.Net8/System.Linq.Dynamic.Core.Tests.Net8.csproj -c Release -p:buildType=azure-pipelines-ci
29-
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net8/System.Linq.Dynamic.Core.Tests.Net8.csproj -c Release -p:buildType=azure-pipelines-ci --no-build
48+
dotnet test ./test/EntityFramework.DynamicLinq.Tests/EntityFramework.DynamicLinq.Tests.csproj -c Release -f net8.0 -p:buildType=azure-pipelines-ci
3049
31-
- name: Run Tests net7.0
50+
- name: Run Tests EFCore net8.0
3251
run: |
33-
dotnet build ./test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net7.csproj -c Release -p:buildType=azure-pipelines-ci
34-
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net7.csproj -c Release -p:buildType=azure-pipelines-ci --no-build
52+
dotnet test ./test/System.Linq.Dynamic.Core.Tests/System.Linq.Dynamic.Core.Tests.csproj -c Release -p:buildType=azure-pipelines-ci
3553
36-
- name: Run Tests net6.0
54+
- name: Run Tests EFCore net7.0
3755
run: |
38-
dotnet build ./test/System.Linq.Dynamic.Core.Tests.Net6/System.Linq.Dynamic.Core.Tests.Net6.csproj -c Release -p:buildType=azure-pipelines-ci
39-
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net6/System.Linq.Dynamic.Core.Tests.Net6.csproj -c Release -p:buildType=azure-pipelines-ci --no-build
40-
41-
- name: Run Tests net452
56+
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net7.csproj -c Release -p:buildType=azure-pipelines-ci
57+
58+
- name: Run Tests EFCore net6.0
4259
run: |
43-
dotnet build ./test/System.Linq.Dynamic.Core.Tests/System.Linq.Dynamic.Core.Tests.csproj -c Release -f net452 -p:buildType=azure-pipelines-ci
44-
dotnet test ./test/System.Linq.Dynamic.Core.Tests/System.Linq.Dynamic.Core.Tests.csproj -c Release -f net452 -p:buildType=azure-pipelines-ci --no-build
60+
dotnet test ./test/System.Linq.Dynamic.Core.Tests.Net6/System.Linq.Dynamic.Core.Tests.Net6.csproj -c Release -p:buildType=azure-pipelines-ci

System.Linq.Dynamic.Core.sln

+19-19
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Linq.Dynamic.Core.Te
124124
EndProject
125125
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.EntityFrameworkCore.DynamicLinq.EFCore8", "src\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore8\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore8.csproj", "{9000129D-322D-4FE6-9C47-75464577C374}"
126126
EndProject
127-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Linq.Dynamic.Core.Tests.Net8", "test\System.Linq.Dynamic.Core.Tests.Net8\System.Linq.Dynamic.Core.Tests.Net8.csproj", "{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}"
128-
EndProject
129127
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RadzenDataGrid.BlazorApp", "src-blazor\RadzenDataGrid.BlazorApp\RadzenDataGrid.BlazorApp.csproj", "{51074A4C-15C2-4E72-81F2-2FC53903553B}"
130128
EndProject
131129
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleApp_net6.0_EF6_Sqlite", "src-console\ConsoleAppEF6_Sqlite\ConsoleApp_net6.0_EF6_Sqlite.csproj", "{CA03FD55-9DAB-4827-9A35-A96D3804B311}"
@@ -145,6 +143,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.Host", "src-console\De
145143
EndProject
146144
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Demo.Plugin", "src-console\Demo.Plugin\Demo.Plugin.csproj", "{B01B327C-FC68-49B6-BDE3-A13D0C66DF5C}"
147145
EndProject
146+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Linq.Dynamic.Core.Tests.NetCoreApp31", "test\System.Linq.Dynamic.Core.Tests.NetCoreApp31\System.Linq.Dynamic.Core.Tests.NetCoreApp31.csproj", "{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}"
147+
EndProject
148148
Global
149149
GlobalSection(SolutionConfigurationPlatforms) = preSolution
150150
Debug|Any CPU = Debug|Any CPU
@@ -769,22 +769,6 @@ Global
769769
{9000129D-322D-4FE6-9C47-75464577C374}.Release|x64.Build.0 = Release|Any CPU
770770
{9000129D-322D-4FE6-9C47-75464577C374}.Release|x86.ActiveCfg = Release|Any CPU
771771
{9000129D-322D-4FE6-9C47-75464577C374}.Release|x86.Build.0 = Release|Any CPU
772-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
773-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|Any CPU.Build.0 = Debug|Any CPU
774-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|ARM.ActiveCfg = Debug|Any CPU
775-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|ARM.Build.0 = Debug|Any CPU
776-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|x64.ActiveCfg = Debug|Any CPU
777-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|x64.Build.0 = Debug|Any CPU
778-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|x86.ActiveCfg = Debug|Any CPU
779-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Debug|x86.Build.0 = Debug|Any CPU
780-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|Any CPU.ActiveCfg = Release|Any CPU
781-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|Any CPU.Build.0 = Release|Any CPU
782-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|ARM.ActiveCfg = Release|Any CPU
783-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|ARM.Build.0 = Release|Any CPU
784-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|x64.ActiveCfg = Release|Any CPU
785-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|x64.Build.0 = Release|Any CPU
786-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|x86.ActiveCfg = Release|Any CPU
787-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E}.Release|x86.Build.0 = Release|Any CPU
788772
{51074A4C-15C2-4E72-81F2-2FC53903553B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
789773
{51074A4C-15C2-4E72-81F2-2FC53903553B}.Debug|Any CPU.Build.0 = Debug|Any CPU
790774
{51074A4C-15C2-4E72-81F2-2FC53903553B}.Debug|ARM.ActiveCfg = Debug|Any CPU
@@ -897,6 +881,22 @@ Global
897881
{B01B327C-FC68-49B6-BDE3-A13D0C66DF5C}.Release|x64.Build.0 = Release|Any CPU
898882
{B01B327C-FC68-49B6-BDE3-A13D0C66DF5C}.Release|x86.ActiveCfg = Release|Any CPU
899883
{B01B327C-FC68-49B6-BDE3-A13D0C66DF5C}.Release|x86.Build.0 = Release|Any CPU
884+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
885+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|Any CPU.Build.0 = Debug|Any CPU
886+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|ARM.ActiveCfg = Debug|Any CPU
887+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|ARM.Build.0 = Debug|Any CPU
888+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|x64.ActiveCfg = Debug|Any CPU
889+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|x64.Build.0 = Debug|Any CPU
890+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|x86.ActiveCfg = Debug|Any CPU
891+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Debug|x86.Build.0 = Debug|Any CPU
892+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|Any CPU.ActiveCfg = Release|Any CPU
893+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|Any CPU.Build.0 = Release|Any CPU
894+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|ARM.ActiveCfg = Release|Any CPU
895+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|ARM.Build.0 = Release|Any CPU
896+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|x64.ActiveCfg = Release|Any CPU
897+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|x64.Build.0 = Release|Any CPU
898+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|x86.ActiveCfg = Release|Any CPU
899+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616}.Release|x86.Build.0 = Release|Any CPU
900900
EndGlobalSection
901901
GlobalSection(SolutionProperties) = preSolution
902902
HideSolutionNode = FALSE
@@ -940,14 +940,14 @@ Global
940940
{FB2F4C99-EC34-4D29-87E2-944B25D90EF7} = {DBD7D9B6-FCC7-4650-91AF-E6457573A68F}
941941
{CC63ECEB-18C1-462B-BAFC-7F146A7C2740} = {8463ED7E-69FB-49AE-85CF-0791AFD98E38}
942942
{9000129D-322D-4FE6-9C47-75464577C374} = {DBD7D9B6-FCC7-4650-91AF-E6457573A68F}
943-
{ABB1BF71-8927-49BB-99F3-70BCB2CD161E} = {8463ED7E-69FB-49AE-85CF-0791AFD98E38}
944943
{51074A4C-15C2-4E72-81F2-2FC53903553B} = {122BC4FA-7563-4E35-9D17-077F16F1629F}
945944
{CA03FD55-9DAB-4827-9A35-A96D3804B311} = {7971CAEB-B9F2-416B-966D-2D697C4C1E62}
946945
{E36D1A08-F3ED-48C7-9DBF-8F625974A6C4} = {BCA2A024-9032-4E56-A6C4-17A15D921728}
947946
{9E0D0994-7D84-40FF-8383-189F142FEF11} = {BCA2A024-9032-4E56-A6C4-17A15D921728}
948947
{68C7FF71-54F6-4D68-B419-65D1B10206D4} = {BCA2A024-9032-4E56-A6C4-17A15D921728}
949948
{D8368319-F370-4071-9411-A3DADB234330} = {7971CAEB-B9F2-416B-966D-2D697C4C1E62}
950949
{B01B327C-FC68-49B6-BDE3-A13D0C66DF5C} = {7971CAEB-B9F2-416B-966D-2D697C4C1E62}
950+
{7AFC2836-0F6E-4B0D-8BB3-13317A3B6616} = {8463ED7E-69FB-49AE-85CF-0791AFD98E38}
951951
EndGlobalSection
952952
GlobalSection(ExtensibilityGlobals) = postSolution
953953
SolutionGuid = {94C56722-194E-4B8B-BC23-B3F754E89A20}

src/System.Linq.Dynamic.Core/DynamicExpressionArgument.cs

-35
This file was deleted.

src/System.Linq.Dynamic.Core/Extensions/ExpandObjectExtensions.cs

-25
This file was deleted.

src/System.Linq.Dynamic.Core/Extensions/LinqExtensions.cs

-6
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@ namespace System.Linq.Dynamic.Core.Extensions;
77
[SuppressMessage("ReSharper", "PossibleMultipleEnumeration")]
88
internal static class LinqExtensions
99
{
10-
// Ex: collection.TakeLast(5);
11-
public static IEnumerable<T> TakeLast<T>(this IList<T> source, int n)
12-
{
13-
return source.Skip(Math.Max(0, source.Count() - n));
14-
}
15-
1610
public static IEnumerable<T> WhereNotNull<T>(this IEnumerable<T?> sequence)
1711
{
1812
Check.NotNull(sequence);

test/EntityFramework.DynamicLinq.Tests/EntityFramework.DynamicLinq.Tests.csproj

+15-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<Authors>Stef Heyenrath</Authors>
5-
<TargetFramework>net461</TargetFramework>
5+
<TargetFrameworks>net461;net8.0</TargetFrameworks>
66
<LangVersion>10</LangVersion>
77
<DefineConstants>EF;NET461</DefineConstants>
88
<AssemblyName>EntityFramework.DynamicLinq.Tests</AssemblyName>
@@ -40,23 +40,32 @@
4040
<PackageReference Include="MongoDB.Driver" Version="2.19.0" />
4141
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
4242
<PackageReference Include="NodaTime" Version="2.4.7" />
43+
<PackageReference Include="Testcontainers.MsSql" Version="3.8.0" />
4344
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
44-
<PrivateAssets>all</PrivateAssets>
45-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
45+
<PrivateAssets>all</PrivateAssets>
46+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4647
</PackageReference>
4748
<PackageReference Include="Linq.PropertyTranslator.Core" Version="1.0.5" />
4849
<PackageReference Include="QueryInterceptor.Core" Version="1.0.7" />
49-
<!--<PackageReference Include="EntityFramework" Version="6.2.0" />-->
50-
<PackageReference Include="Microsoft.AspNet.Identity.EntityFramework" Version="2.2.1" />
5150
<PackageReference Include="xunit" Version="2.4.1" />
5251
<PackageReference Include="NFluent" Version="2.8.0" />
5352
<PackageReference Include="Moq" Version="4.13.1" />
54-
<PackageReference Include="LinqKit.EntityFramework" Version="1.1.15" />
5553
</ItemGroup>
5654

5755
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
5856
<Reference Include="System" />
5957
<Reference Include="Microsoft.CSharp" />
58+
<PackageReference Include="Microsoft.AspNet.Identity.EntityFramework" Version="2.2.1" />
59+
<PackageReference Include="LinqKit.EntityFramework" Version="1.1.15" />
6060
</ItemGroup>
6161

62+
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
63+
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.0" />
64+
<PackageReference Include="LinqKit.Microsoft.EntityFrameworkCore" Version="8.1.5" />
65+
</ItemGroup>
66+
67+
<PropertyGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
68+
<DefineConstants>$(DefineConstants);AspNetCoreIdentity</DefineConstants>
69+
</PropertyGroup>
70+
6271
</Project>

test/System.Linq.Dynamic.Core.Tests.Net5/System.Linq.Dynamic.Core.Tests.Net5.csproj

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<SignAssembly>True</SignAssembly>
99
<AssemblyOriginatorKeyFile>../../src/System.Linq.Dynamic.Core/System.Linq.Dynamic.Core.snk</AssemblyOriginatorKeyFile>
1010
<IsPackable>false</IsPackable>
11-
<DefineConstants>$(DefineConstants);NETCOREAPP;EFCORE;EFCORE_3X;NETCOREAPP3_1</DefineConstants>
11+
<DefineConstants>$(DefineConstants);NETCOREAPP;EFCORE;EFCORE_3X;NETCOREAPP3_1;AspNetCoreIdentity</DefineConstants>
1212
</PropertyGroup>
1313

1414
<ItemGroup>
@@ -35,6 +35,7 @@
3535
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0" />
3636
<PackageReference Include="LinqKit.Microsoft.EntityFrameworkCore" Version="5.1.2" />
3737
<PackageReference Include="NodaTime" Version="3.1.5" />
38+
<PackageReference Include="Testcontainers.MsSql" Version="3.8.0" />
3839

3940
<ProjectReference Include="..\..\src\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore5\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore5.csproj" />
4041
</ItemGroup>

test/System.Linq.Dynamic.Core.Tests.Net6/System.Linq.Dynamic.Core.Tests.Net6.csproj

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<SignAssembly>True</SignAssembly>
88
<AssemblyOriginatorKeyFile>../../src/System.Linq.Dynamic.Core/System.Linq.Dynamic.Core.snk</AssemblyOriginatorKeyFile>
99
<IsPackable>false</IsPackable>
10-
<DefineConstants>$(DefineConstants);NETCOREAPP;EFCORE;EFCORE_3X;NETCOREAPP3_1</DefineConstants>
10+
<DefineConstants>$(DefineConstants);NETCOREAPP;EFCORE;EFCORE_3X;NETCOREAPP3_1;AspNetCoreIdentity</DefineConstants>
1111
</PropertyGroup>
1212

1313
<ItemGroup>
@@ -38,6 +38,7 @@
3838
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.0" />
3939
<PackageReference Include="LinqKit.Microsoft.EntityFrameworkCore" Version="6.1.2" />
4040
<PackageReference Include="NodaTime" Version="3.1.5" />
41+
<PackageReference Include="Testcontainers.MsSql" Version="3.8.0" />
4142

4243
<ProjectReference Include="..\..\src\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore6\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore6.csproj" />
4344
</ItemGroup>

test/System.Linq.Dynamic.Core.Tests.Net7/System.Linq.Dynamic.Core.Tests.Net7.csproj

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<AssemblyOriginatorKeyFile>../../src/System.Linq.Dynamic.Core/System.Linq.Dynamic.Core.snk</AssemblyOriginatorKeyFile>
99
<IsPackable>false</IsPackable>
1010
<Nullable>enable</Nullable>
11-
<DefineConstants>$(DefineConstants);NETCOREAPP;EFCORE;EFCORE_3X;NETCOREAPP3_1</DefineConstants>
11+
<DefineConstants>$(DefineConstants);NETCOREAPP;EFCORE;EFCORE_3X;NETCOREAPP3_1;AspNetCoreIdentity</DefineConstants>
1212
</PropertyGroup>
1313

1414
<ItemGroup>
@@ -39,6 +39,7 @@
3939
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" />
4040
<PackageReference Include="LinqKit.Microsoft.EntityFrameworkCore" Version="7.1.3" />
4141
<PackageReference Include="NodaTime" Version="3.1.5" />
42+
<PackageReference Include="Testcontainers.MsSql" Version="3.8.0" />
4243

4344
<ProjectReference Include="..\..\src\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore7\Microsoft.EntityFrameworkCore.DynamicLinq.EFCore7.csproj" />
4445
</ItemGroup>

0 commit comments

Comments
 (0)