Azure / Azure/data-api-builder
[Enh]: For auto-config entities support `@db()`
- Vorherrschende Sprache
- C#
- Sterne
- 1.5k
- Forks
- 370
- Ø Merge
- 3 T. 22 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
## What
Today, `autoentities.template` does not include newer metadata-driven properties, such as `description`.
This enhancement allows `autoentities.template` to use `@db()` so generated entities, fields, and parameters can pull values from SQL Server extended properties.
This enhancement depends on:
* #2949
* #2940
## Behavior
`@db()` expressions inside `autoentities.template` follow the parent `@db()` specification.
The only special behavior is timing: template-based `@db()` expressions are resolved after auto-entity expansion because template macros are not available until generation time.
## Supported template macros
`@db()` expressions may use existing auto-entity template macros:
```text
{schema}
{object}
{column}
{parameter}
{type}
```
## Template example
```json
{
"template": {
"description": "@db('{schema}.{object}:MS_Description', '{type}')",
"source": {
"parameters": {
"description": "@db('{schema}.{object}.@{parameter}:MS_Description', '{type}')"
}
},
"fields": {
"description": "@db('{schema}.{object}.{column}:MS_Description', '{type}')"
}
}
}
```
## Requirements
* Auto-entity expansion must complete before resolving template-based `@db()` expressions.
* Template macros must be replaced before `@db()` parsing.
* Unresolved macros inside an `@db()` expression fail validation.
* Contextual shorthand is not supported inside `autoentities.template`.
* The parent `@db()` spec remains authoritative for parsing, validation, resolution, and error behavior.
Beitragsleitfaden
Rechercherichtung
Beginne mit autoentities.template und der übergeordneten @db()-Spezifikation, einschließlich der Abhängigkeiten #2949 und #2940. Verfolge, in welcher Reihenfolge die Auto-Entity-Erweiterung, der Template-Makro-Ersatz und die @db()-Auflösung erfolgen; als abgeschlossen gilt die Arbeit, wenn unterstützte Makros aufgelöst werden, nicht aufgelöste Makros die Validierung fehlschlagen lassen, kontextuelle Kurzschreibweisen weiterhin nicht unterstützt werden und das Parsen des Parent sowie das Fehlerverhalten erhalten bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp, sql
- Bereich
- backend-api-design, databases
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100