You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/user-guide/core-concepts.md
+17-14Lines changed: 17 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,14 +20,14 @@ The pipeline consists of seven stages that run before C# compilation:
20
20
**Purpose**: Discover the database source and locate all configuration files.
21
21
22
22
**What it does**:
23
-
- Locates the SQL Server Database Project (.sqlproj) from project references or explicit configuration
23
+
- Locates the SQL Project from project references or explicit configuration
24
24
- Resolves the EF Core Power Tools configuration file (`efcpt-config.json`)
25
25
- Finds renaming rules (`efcpt.renaming.json`)
26
26
- Discovers T4 template directories
27
27
- Resolves connection strings from various sources (explicit property, appsettings.json, app.config)
28
28
29
29
**Outputs**:
30
-
-`SqlProjPath` - Path to the discovered database project
30
+
-`SqlProjPath` - Path to the discovered SQL Project
31
31
-`ResolvedConfigPath` - Path to the configuration file
32
32
-`ResolvedRenamingPath` - Path to renaming rules
33
33
-`ResolvedTemplateDir` - Path to templates
@@ -37,8 +37,8 @@ The pipeline consists of seven stages that run before C# compilation:
37
37
38
38
**Purpose**: Prepare the schema source for code generation.
39
39
40
-
**DACPAC Mode** (when using .sqlproj):
41
-
- Builds the SQL Server Database Project to produce a DACPAC file
40
+
**DACPAC Mode** (when using SQL Project):
41
+
- Builds the SQL Project to produce a DACPAC file
42
42
- Only rebuilds if source files are newer than the existing DACPAC
43
43
- Uses `msbuild.exe` on Windows or `dotnet msbuild` on other platforms
44
44
@@ -200,22 +200,25 @@ For each input type, the package searches in this order:
200
200
201
201
### SQL Project Discovery
202
202
203
-
The package discovers SQL projects by:
203
+
The package discovers SQL Projects by:
204
204
205
205
1. Checking `EfcptSqlProj` property (if set)
206
-
2. Scanning `ProjectReference` items for .sqlproj files
207
-
3. Looking for .sqlproj in the solution directory
208
-
4. Checking for modern SDK-style SQL projects
206
+
2. Scanning `ProjectReference` items for SQL Projects
207
+
3. Looking for SQL Projects in the solution directory
208
+
4. Checking for modern SDK-style SQL Projects
209
209
210
210
**Supported SQL Project SDKs:**
211
211
212
-
| SDK | Cross-Platform | Notes |
213
-
|-----|----------------|-------|
214
-
|[Microsoft.Build.Sql](https://github.com/microsoft/DacFx)| Yes | Microsoft's official SDK-style SQL projects|
215
-
|[MSBuild.Sdk.SqlProj](https://github.com/rr-wfm/MSBuild.Sdk.SqlProj)|Yes | Popular community SDK |
216
-
| Traditional .sqlproj | No (Windows only) |Requires SQL Server Data Tools |
212
+
| SDK |Extension |Cross-Platform | Notes |
213
+
|-----|-----------|----------------|-------|
214
+
|[Microsoft.Build.Sql](https://github.com/microsoft/DacFx)|`.sqlproj`|Yes | Microsoft's official SDK-style SQL Projects for .NET|
215
+
|[MSBuild.Sdk.SqlProj](https://github.com/rr-wfm/MSBuild.Sdk.SqlProj)|`.csproj` or `.fsproj`| Yes | Community SDK with additional features and extensibility|
216
+
| Traditional SQL Projects |`.sqlproj`| No (Windows only) |Legacy format, requires SQL Server Data Tools |
217
217
218
-
Both SDK-style projects work identically - they produce DACPACs that JD.Efcpt.Build uses for code generation.
218
+
**Key Differences:**
219
+
-**Microsoft.Build.Sql** uses the `.sqlproj` extension and is Microsoft's official modern SDK for SQL Projects in .NET SDK
220
+
-**MSBuild.Sdk.SqlProj** uses `.csproj` or `.fsproj` extensions (despite having "SqlProj" in its name), provides more configurability and extensibility
221
+
- Both SDK-style projects produce DACPACs that JD.Efcpt.Build uses for code generation
|[Microsoft.Build.Sql](https://github.com/microsoft/DacFx)| Yes | Microsoft's official SDK-style SQL projects|
26
-
|[MSBuild.Sdk.SqlProj](https://github.com/rr-wfm/MSBuild.Sdk.SqlProj)|Yes | Popular community SDK for cross-platform builds|
27
-
| Traditional .sqlproj | No (Windows only) |Requires SQL Server Data Tools |
23
+
| SDK |Extension |Cross-Platform | Notes |
24
+
|-----|-----------|----------------|-------|
25
+
|[Microsoft.Build.Sql](https://github.com/microsoft/DacFx)|`.sqlproj`|Yes | Microsoft's official SDK-style SQL Projects for .NET|
26
+
|[MSBuild.Sdk.SqlProj](https://github.com/rr-wfm/MSBuild.Sdk.SqlProj)|`.csproj` or `.fsproj`| Yes | Community SDK with additional features and extensibility|
27
+
| Traditional SQL Projects |`.sqlproj`| No (Windows only) |Legacy format, requires SQL Server Data Tools |
Demonstrates using a modern SDK-style SQL project (MSBuild.Sdk.SqlProj) for cross-platform DACPAC builds. This sample works on Windows, Linux, and macOS.
98
+
Demonstrates using MSBuild.Sdk.SqlProj for cross-platform DACPAC builds. This SDK uses `.csproj` extension (not `.sqlproj`).
0 commit comments