Azure / Azure/data-api-builder

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

Ouverte
#2,941 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
2.x auto-config mcp-server
Langage dominant
C#
Étoiles
1.5k
Forks
370
Merge moyen
3 j 22 h
PR mergées (30 j)
9

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par autoentities.template et la spécification @db() du parent, y compris les dépendances #2949 et #2940. Suivez l’ordre dans lequel sont effectués l’expansion des auto-entités, le remplacement des macros de template et la résolution de @db() ; le travail est considéré comme terminé lorsque les macros pris en charge sont résolus, que les macros non résolus font échouer la validation, que la notation abrégée contextuelle reste non prise en charge et que l’analyse du parent ainsi que le comportement des erreurs sont préservés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, sql
Domaine
backend-api-design, databases
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.