Skip to content
Closed
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions docs/user-guide/api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,52 @@ Applies MSBuild property overrides to the staged `efcpt-config.json` file. This
| `EfcptSolutionPath` | `$(SolutionPath)` | Solution file path |
| `EfcptProbeSolutionDir` | `true` | Whether to probe solution directory |

### Downstream Project Triggering Properties

These properties control automatic discovery and building of downstream EF Core projects when JD.Efcpt.Build is used in a SQL project.

| Property | Default | Description |
|----------|---------|-------------|
| `EfcptTriggerDownstream` | `true` | Enable/disable automatic downstream discovery and building. Only active when in a SQL project. |
| `EfcptDownstreamProjects` | *(empty)* | Explicit semicolon-separated list of downstream project paths. When set, overrides automatic discovery. Paths can be relative to the SQL project directory or absolute. |
| `EfcptDownstreamAutoDiscover` | `true` | Enable/disable automatic discovery of downstream projects. When `false`, only projects specified in `EfcptDownstreamProjects` are built. |
| `EfcptDownstreamSearchPaths` | *(empty)* | Additional semicolon-separated directories to search for downstream projects. Paths can be relative to the SQL project directory or absolute. |
| `EfcptDownstreamBuildProperties` | *(empty)* | Additional MSBuild properties to pass to downstream projects during build. Use semicolon-separated key=value pairs. |
| `EfcptForceCompileDownstreamProjects` | `false` | When enabled in an EF Core project (not SQL project), forces recompilation to ensure models are up to date. Note: This can reduce performance. Using `ProjectReference` is recommended instead. |

**Example Usage:**

```xml
<!-- In SQL Project: Disable automatic triggering -->
<PropertyGroup>
<EfcptTriggerDownstream>false</EfcptTriggerDownstream>
</PropertyGroup>

<!-- In SQL Project: Explicit downstream projects only -->
<PropertyGroup>
<EfcptDownstreamProjects>
..\DataAccessProject\DataAccessProject.csproj;
..\TestProject\TestProject.csproj
</EfcptDownstreamProjects>
</PropertyGroup>

<!-- In SQL Project: Disable auto-discovery but use explicit list -->
<PropertyGroup>
<EfcptDownstreamAutoDiscover>false</EfcptDownstreamAutoDiscover>
<EfcptDownstreamProjects>..\DataAccessProject\DataAccessProject.csproj</EfcptDownstreamProjects>
</PropertyGroup>

<!-- In SQL Project: Add custom search paths -->
<PropertyGroup>
<EfcptDownstreamSearchPaths>..\src\DataAccess;..\tests</EfcptDownstreamSearchPaths>
</PropertyGroup>

<!-- In EF Core Project: Force recompilation (not recommended - use ProjectReference instead) -->
<PropertyGroup>
<EfcptForceCompileDownstreamProjects>true</EfcptForceCompileDownstreamProjects>
</PropertyGroup>
```

### Advanced Properties

| Property | Default | Description |
Expand Down
Loading