martedì 6 luglio 2010

Tipo entity key e relativo pattern di creazione.

Quando si crea una nuova entità di EF, la prima cosa che si deve scegliere è la proprietà che farà anche da chiave primaria. Al momento della creazione si può scegliere solo se attivare o meno la property key, e il relativo tipo

Una cosa che non viene chiesta però, è la modalità con la quale generare questa chiave, che di default è Identity:


ovvero il valore della chiave, viene calcolato al momento dell'insert.

Nel caso in cui però il tipo della chiave primaria non è un intero, ma ad esempio un Guid, questo pattern non funziona, e non riusciremo mai ad eseguire un inserimento sul nostro db, passando dagli oggetti che ci mette a disposizione il nostro modello, perchè la chiave primaria resterà sempre a null.

La strada più semplice da seguire in questo scenario, è quella di scegliere come StoreGeneratedPattern il valore None, e ricordarsi di inizializzare la chiave delle nuove entità ogni volta che esse vengono create.


Nessun commento: