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/not-mapped.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: not-mapped
namespace: https://schemacodearchitects.blob.core.windows.net/templates/entityfwk/
Questo andrà a generare una classe Category
. La classe conterrà una proprietà Name
alla quale sarà applicato l’attributo NotMapped
.
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>
[NotMapped]
public string Name
{
get;
set;
}
}
}
NotMapped
[NotMapped]
Può essere applicato ad una proprietà o ad una classe che deve essere esclusa dalla generazione del modello e non deve generare la corrispondente colonna/tabella nel database. Per ulteriori informazioni fare riferimento alla documentazione ufficiale.
Per generare questa annotazione
annotations:
- name: not-mapped
namespace: https://schemacodearchitects.blob.core.windows.net/templates/entityfwk/