Azure / Azure/data-api-builder

[Enh]: For auto-config entities support `@db()`

Aperta
#2,941 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
2.x auto-config mcp-server
Lingua principale
C#
Stelle
1.5k
Fork
370
Merge medio
3g 17h
PR unite (30g)
8

Descrizione

## 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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con autoentities.template e la specifica @db() del parent, incluse le dipendenze #2949 e #2940. Traccia l’ordine in cui vengono eseguiti l’espansione delle auto-entità, la sostituzione delle macro del template e la risoluzione di @db(); il lavoro è completo quando le macro supportate vengono risolte, le macro non risolte fanno fallire la validazione, la forma abbreviata contestuale rimane non supportata e vengono preservati il parsing del parent e il comportamento degli errori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, sql
Ambito
backend-api-design, databases
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.