Le annotazioni sono degli attributi che possono essere applicati ad una entità o alle sue proprietà.
Le annotations hanno tre proprietà:
- name: indica il nome del template (è possibile omettere l’estensione).
- namespace: indica l’url su cui è presente il template (omettere il nome del template).
- value: indica il valore dell’attributo (opzionale).
Nell’esempio sottostante, il template verrà scaricato dall’url https://schemacodearchitects.blob.core.windows.net/templates/entityfwk/foreign-key.ejs
entities:
- name: Category
description: The product category
useRepository: true
repositoryName: Category
fields:
- name: name
type: string
description: The name of the category
annotations:
- name: foreignKey
namespace: https://schemacodearchitects.blob.core.windows.net/templates/entityfwk/
value: Id
Questo andrà a generare una classe Category
. La classe conterrà una proprietà Name
alla quale sarà applicato l’attributo ForeignKey
contenente il valore specificato.
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Ca.ShoppingCart.Store.Domain.Model
{
/// <summary>
/// The product category
/// </summary>
public partial class Category : EntityBase
{
/// <summary>
/// The name of the category
/// </summary>
[ForeignKey("Id")]
public string Name
{
get;
set;
}
}
}
ForeignKey
[ForeignKey("PropertyName")]
Può essere applicato ad una proprietà per marcarla come chiave esterna. Per ulteriori informazioni fare riferimento alla documentazione ufficiale.
Per generare questa annotazione
annotations:
- name: foreign-key
namespace: https://schemacodearchitects.blob.core.windows.net/templates/entityfwk/
value: PropertyName