Azure / Azure/data-api-builder

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

Abierto
#2,941 0 comentarios 1 reacción 0 asignados Ver en GitHub
2.x auto-config mcp-server
Lenguaje dominante
C#
Estrellas
1.5k
Forks
370
Merge medio
3 d 22 h
PR fusionados (30 d)
9

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con autoentities.template y la especificación @db() del elemento padre, incluidas las dependencias #2949 y #2940. Traza el orden en que se realizan la expansión de autoentidades, la sustitución de macros de plantilla y la resolución de @db(); se considera terminado cuando los macros compatibles se resuelven, los macros no resueltos hacen que falle la validación, la abreviatura contextual sigue sin estar soportada y se conservan el análisis del elemento padre y el comportamiento de los errores.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, sql
Área
backend-api-design, databases
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.