Entity Framework e vincoli sul mapping

Una cosa che mi piace di Entity Framework è che ti supporta a compile time durante la creazione dei mapping aiutandoti a non crearne di "scorretti" o potenzialmente dannosi. Mi è capitato di creare un Domain a partire da un database molto vecchio e mal concio e devo dire che gli errori di compilazioni mi sono serviti non poco a creare un mapping corretto e funzionante.

Una su tutte me la voglio segnare perchè mi ha fatto perdere un po' di tempo. Le chiavi esterne, non essendo associate a dei vincoli di Foreign Key sul DB, mi venivano "tirate giù" come proprietà del modello concettuale, mappate alle colonne rispettive del modello di storage. Io creavo quindi le associazioni e i relativi mapping a mano. A questo punto il progetto non compilava più perchè il mapping poteva creare una potenziale inconsistenza: avevo mappato la stessa colonna dello storage su due proprietà distinte della Entity. É bastato semplicemente eliminare la proprietà creata in automatico dal designer e tutto è tornato a funzionare correttamente.

Ovviamente la soluzione era scritta nel messaggio di errore, ma, un po' per la disattenzione un po' per l'inesperienza con lo strumento, ho impiegato un paio d'ore per capire cosa dovevo fare :)

 

Matteo

 

Technorati Tag: ,

Print | posted @ martedì 11 novembre 2008 00:16

Comments have been closed on this topic.