Ho notato che Entity Framework ha ancora molte funzionalità "automagicamente" nella loro ultima versione. Come sempre, questa è una spada a doppio taglio.È possibile disabilitare prima le relazioni automatiche in Entity Framework Code?
In particolare, sto utilizzando l'evento OnModelBuilder per creare il mio modello al volo usando il codice fluentAPI (http://msdn.microsoft.com/en-us/library/hh295844(v=vs.103) aspx). Ho una vasta serie di entità e non tutte sono conformi agli "standard" di Microsoft. Ad esempio, le mie colonne ID sono denominate Person_id anziché PersonId. In quanto tale, Entity non rileva sempre automaticamente la chiave primaria su una tabella o, almeno, sembra che non lo faccia.
Non mi interessa essere esplicito quando si crea il modello, ma ciò che mi disturba è che Non sono sempre sicuro quali proprietà e relazioni Entity rileverà automaticamente e quali ignoreranno o identificheranno erroneamente. Poiché la maggior parte delle mie entità ha anche una classe parziale con metodi e proprietà di supporto (cose per gestire enumerazioni, ecc.), Temo molto che un giorno Entity crei automaticamente mapping tra cose che non dovrebbero essere mappate (l'errore potrebbe essere Entity o qualche programmatore ignaro).
C'è un modo per disabilitare la funzione di collegamento automatico di Entity in modo che possa essere al 100% esplicito nel metodo OnModelBuilder? O, come minimo, come posso sapere quando ho bisogno di aggiungere dettagli di mappatura extra (come la necessità di dichiarare un campo opzionale, o quando una proprietà di navigazione specifica non verrà rilevata automaticamente)?
Grazie!
se questa roba ti preoccupa, dovresti probabilmente usare gli aspetti "design first" di EF piuttosto che i nuovi "code first" roba –
Ho iniziato con l'EDMX, per inciso. Stavo cercando di "aggiornare" in codice prima di pensare che potrebbe essere più facile da gestire dato che sarebbe tutto nel codice, ma potrebbe non valerne la pena e il debugging. – Brett