Skip to content

Commit b20d8cd

Browse files
author
fabien.menager
committed
Merge branch 'main' into copilot/add-include-graph-support
2 parents c06aee2 + b091f08 commit b20d8cd

35 files changed

Lines changed: 278 additions & 326 deletions

File tree

.github/workflows/dotnet-test.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,22 @@ jobs:
1818
dotnet: [
1919
{ tfm: net8.0, version: 8.0.x },
2020
{ tfm: net9.0, version: 9.0.x },
21+
{ tfm: net10.0, version: 10.0.x },
2122
]
2223

2324
steps:
2425
- uses: actions/checkout@v4
2526

26-
- name: Setup .NET 9.0 # Latest dotnet version supported
27+
- name: Setup .NET 10.0 # Latest dotnet version supported
2728
uses: actions/setup-dotnet@v4
2829
with:
29-
dotnet-version: 9.0.x
30+
dotnet-version: 10.0.x
3031

3132
- name: Display dotnet version
3233
run: dotnet --version
3334

34-
- name: Restore dependencies
35-
run: dotnet restore
36-
3735
- name: Build
38-
run: dotnet build --no-restore --framework ${{ matrix.dotnet.tfm }}
36+
run: dotnet build PhenX.EntityFrameworkCore.BulkInsert.Net10.slnx --framework ${{ matrix.dotnet.tfm }}
3937

4038
- name: Test
41-
run: dotnet test --no-build --verbosity normal --framework ${{ matrix.dotnet.tfm }}
39+
run: dotnet test PhenX.EntityFrameworkCore.BulkInsert.Net10.slnx --no-build --verbosity normal --framework ${{ matrix.dotnet.tfm }}

.github/workflows/release.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,22 @@ jobs:
3535
with:
3636
dotnet-version: 9.0.x
3737

38-
- name: Restore dependencies
39-
run: dotnet restore
40-
41-
- name: Build
42-
run: dotnet build --configuration Release --no-restore /p:Version=$VERSION
38+
- name: Setup .NET 10.0
39+
uses: actions/setup-dotnet@v4
40+
with:
41+
dotnet-version: 10.0.x
4342

4443
- name: Test net8.0
45-
run: dotnet test --configuration Release --no-restore --no-build --verbosity normal --framework net8.0
44+
run: dotnet test PhenX.EntityFrameworkCore.BulkInsert.slnx --configuration Release --verbosity normal --framework net8.0
4645

4746
- name: Test net9.0
48-
run: dotnet test --configuration Release --no-restore --no-build --verbosity normal --framework net9.0
47+
run: dotnet test PhenX.EntityFrameworkCore.BulkInsert.slnx --configuration Release --verbosity normal --framework net9.0
48+
49+
- name: Test net10.0
50+
run: dotnet test PhenX.EntityFrameworkCore.BulkInsert.Net10.slnx --configuration Release --verbosity normal --framework net10.0
4951

5052
- name: Pack nuget packages
51-
run: dotnet pack --configuration Release --no-restore --no-build --output nupkgs /p:PackageVersion=$VERSION
53+
run: dotnet pack PhenX.EntityFrameworkCore.BulkInsert.Net10.slnx --configuration Release --no-build --output nupkgs /p:PackageVersion=$VERSION
5254

5355
- name: Upload nuget package
5456
if: github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/v')

Directory.Build.props

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<Project>
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
5+
<LanguageVersion>12</LanguageVersion>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
<NeutralLanguage>en</NeutralLanguage>
9+
<EnableNETAnalyzers>true</EnableNETAnalyzers>
10+
<!-- <AnalysisMode>AllEnabledByDefault</AnalysisMode>-->
11+
<TreatWarningsAsErrors Condition="$(Configuration) != 'Debug'">true</TreatWarningsAsErrors>
12+
</PropertyGroup>
13+
14+
<PropertyGroup>
15+
<Authors>Fabien Ménager</Authors>
16+
<Description>Super fast bulk insertion for Entity Framework Core on SQL Server, PostgreSQL and SQLite</Description>
17+
<Copyright>Fabien Ménager © 2025</Copyright>
18+
<PackageProjectUrl>https://github.com/PhenX/PhenX.EntityFrameworkCore.BulkInsert</PackageProjectUrl>
19+
<RepositoryUrl>https://github.com/PhenX/PhenX.EntityFrameworkCore.BulkInsert</RepositoryUrl>
20+
<RepositoryType>git</RepositoryType>
21+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
22+
<PackageTags>sql sqlite postgresql entity-framework sqlbulkcopy efcore entity-framework-core sqlserver bulk-insert</PackageTags>
23+
<PackageReadmeFile>README.md</PackageReadmeFile>
24+
<PackageIcon>icon.png</PackageIcon>
25+
<PackageReleaseNotes>https://github.com/PhenX/PhenX.EntityFrameworkCore.BulkInsert/releases</PackageReleaseNotes>
26+
</PropertyGroup>
27+
28+
<PropertyGroup>
29+
<!-- Pomelo.EntityFrameworkCore.MySql.NetTopologySuite is not yet available for .NET 10.0 -->
30+
<MysqlSupported>true</MysqlSupported>
31+
<MysqlSupported Condition="'$(TargetFramework)' == 'net10.0'">false</MysqlSupported>
32+
<DefineConstants Condition="'$(MysqlSupported)' == 'true'">$(DefineConstants);MYSQL_SUPPORTED</DefineConstants>
33+
</PropertyGroup>
34+
</Project>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<Solution>
2+
<Folder Name="/root/">
3+
<File Path=".editorconfig" />
4+
<File Path=".gitignore" />
5+
<File Path="Directory.Build.props" />
6+
<File Path="LICENSE" />
7+
<File Path="README.md" />
8+
</Folder>
9+
<Folder Name="/src/">
10+
<File Path="src/Directory.Build.props" />
11+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.Oracle/PhenX.EntityFrameworkCore.BulkInsert.Oracle.csproj" />
12+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.PostgreSql/PhenX.EntityFrameworkCore.BulkInsert.PostgreSql.csproj" />
13+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.Sqlite/PhenX.EntityFrameworkCore.BulkInsert.Sqlite.csproj" />
14+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.SqlServer/PhenX.EntityFrameworkCore.BulkInsert.SqlServer.csproj" />
15+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert/PhenX.EntityFrameworkCore.BulkInsert.csproj" />
16+
</Folder>
17+
<Folder Name="/tests/">
18+
<Project Path="tests/PhenX.EntityFrameworkCore.BulkInsert.Benchmark/PhenX.EntityFrameworkCore.BulkInsert.Benchmark.csproj" />
19+
<Project Path="tests/PhenX.EntityFrameworkCore.BulkInsert.Tests/PhenX.EntityFrameworkCore.BulkInsert.Tests.csproj" />
20+
</Folder>
21+
</Solution>

PhenX.EntityFrameworkCore.BulkInsert.sln

Lines changed: 0 additions & 92 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<Solution>
2+
<Folder Name="/root/">
3+
<File Path=".editorconfig" />
4+
<File Path=".gitignore" />
5+
<File Path="Directory.Build.props" />
6+
<File Path="LICENSE" />
7+
<File Path="README.md" />
8+
</Folder>
9+
<Folder Name="/src/">
10+
<File Path="src/Directory.Build.props" />
11+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.MySql/PhenX.EntityFrameworkCore.BulkInsert.MySql.csproj" />
12+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.Oracle/PhenX.EntityFrameworkCore.BulkInsert.Oracle.csproj" />
13+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.PostgreSql/PhenX.EntityFrameworkCore.BulkInsert.PostgreSql.csproj" />
14+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.Sqlite/PhenX.EntityFrameworkCore.BulkInsert.Sqlite.csproj" />
15+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert.SqlServer/PhenX.EntityFrameworkCore.BulkInsert.SqlServer.csproj" />
16+
<Project Path="src/PhenX.EntityFrameworkCore.BulkInsert/PhenX.EntityFrameworkCore.BulkInsert.csproj" />
17+
</Folder>
18+
<Folder Name="/tests/">
19+
<Project Path="tests/PhenX.EntityFrameworkCore.BulkInsert.Benchmark/PhenX.EntityFrameworkCore.BulkInsert.Benchmark.csproj" />
20+
<Project Path="tests/PhenX.EntityFrameworkCore.BulkInsert.Tests/PhenX.EntityFrameworkCore.BulkInsert.Tests.csproj" />
21+
</Folder>
22+
</Solution>

src/Directory.Build.props

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,7 @@
11
<Project>
22

3-
<PropertyGroup>
4-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
5-
<LanguageVersion>12</LanguageVersion>
6-
<ImplicitUsings>enable</ImplicitUsings>
7-
<Nullable>enable</Nullable>
8-
<NeutralLanguage>en</NeutralLanguage>
9-
<EnableNETAnalyzers>true</EnableNETAnalyzers>
10-
<!-- <AnalysisMode>AllEnabledByDefault</AnalysisMode>-->
11-
<TreatWarningsAsErrors Condition="$(Configuration) != 'Debug'">true</TreatWarningsAsErrors>
12-
</PropertyGroup>
13-
14-
<PropertyGroup>
15-
<Authors>Fabien Ménager</Authors>
16-
<Description>Super fast bulk insertion for Entity Framework Core on SQL Server, PostgreSQL and SQLite</Description>
17-
<Copyright>Fabien Ménager © 2025</Copyright>
18-
<PackageProjectUrl>https://github.com/PhenX/PhenX.EntityFrameworkCore.BulkInsert</PackageProjectUrl>
19-
<RepositoryUrl>https://github.com/PhenX/PhenX.EntityFrameworkCore.BulkInsert</RepositoryUrl>
20-
<RepositoryType>git</RepositoryType>
21-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
22-
<PackageTags>sql sqlite postgresql entity-framework sqlbulkcopy efcore entity-framework-core sqlserver bulk-insert</PackageTags>
23-
<PackageReadmeFile>README.md</PackageReadmeFile>
24-
<PackageIcon>icon.png</PackageIcon>
25-
<PackageReleaseNotes>https://github.com/PhenX/PhenX.EntityFrameworkCore.BulkInsert/releases</PackageReleaseNotes>
26-
</PropertyGroup>
3+
<!-- Import parents Directory.Build.props files -->
4+
<Import Project="$(MSBuildThisFileDirectory)..\Directory.Build.props" Condition="Exists('$(MSBuildThisFileDirectory)..\Directory.Build.props')" />
275

286
<ItemGroup>
297
<None Include="$(MSBuildThisFileDirectory)..\README.md" Pack="true" PackagePath="\" />
@@ -47,7 +25,7 @@
4725

4826
<ItemGroup Label="Package References">
4927
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
50-
<PackageReference Include="JetBrains.Annotations" Version="2025.2.2" />
28+
<PackageReference Include="JetBrains.Annotations" Version="2025.2.4" />
5129
</ItemGroup>
5230

5331
</Project>

src/PhenX.EntityFrameworkCore.BulkInsert.MySql/PhenX.EntityFrameworkCore.BulkInsert.MySql.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2+
23
<PropertyGroup>
3-
<!-- Ignore error for preview version of Pomelo.EntityFrameworkCore.MySql -->
4-
<NoWarn>$(NoWarn);NU5104</NoWarn>
4+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks> <!-- net10.0 not supported by Pomelo.EntityFrameworkCore.MySql yet -->
55
</PropertyGroup>
66

77
<ItemGroup>
@@ -12,6 +12,7 @@
1212
<PackageReference Include="NetTopologySuite" Version="2.6.0" />
1313
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Condition="'$(TargetFramework)' == 'net8.0'" Version="8.0.*" />
1414
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Condition="'$(TargetFramework)' == 'net9.0'" Version="9.0.*" />
15+
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Condition="'$(TargetFramework)' == 'net10.0' And '$(MysqlSupported)' == 'true'" Version="10.0.*" />
1516
</ItemGroup>
1617

1718
</Project>

src/PhenX.EntityFrameworkCore.BulkInsert.Oracle/PhenX.EntityFrameworkCore.BulkInsert.Oracle.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<ItemGroup>
88
<PackageReference Include="Oracle.EntityFrameworkCore" Condition="'$(TargetFramework)' == 'net8.0'" Version="8.23.90" />
99
<PackageReference Include="Oracle.EntityFrameworkCore" Condition="'$(TargetFramework)' == 'net9.0'" Version="9.23.90" />
10+
<PackageReference Include="Oracle.EntityFrameworkCore" Condition="'$(TargetFramework)' == 'net10.0'" Version="10.23.26000" />
1011
</ItemGroup>
1112

1213
</Project>

src/PhenX.EntityFrameworkCore.BulkInsert.PostgreSql/PhenX.EntityFrameworkCore.BulkInsert.PostgreSql.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<PackageReference Include="NetTopologySuite" Version="2.6.0" />
99
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Condition="'$(TargetFramework)' == 'net8.0'" Version="8.0.*" />
1010
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Condition="'$(TargetFramework)' == 'net9.0'" Version="9.0.*" />
11+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Condition="'$(TargetFramework)' == 'net10.0'" Version="10.0.*" />
1112
</ItemGroup>
1213

1314
</Project>

0 commit comments

Comments
 (0)