Domanda

Esiste un modo per assumere il controllo del generatore di classi Entity Framework?Voglio essere in grado di avere il mio generatore di classi in modo da poter creare alcune proprietà per chiamare altri metodi al momento della materializzazione o rendere parziali le classi di entità.

È stato utile?

Soluzione

In realtà sono già in classi parziali.Vedere MSDN

Altri suggerimenti

System.Data.Entity.Design.EntityClassGenerator, è il tipo utilizzato in VS per generare il livello dell'oggetto dal file .edmx ed è il tipo utilizzato da EdmGen.exe per generare il livello dell'oggetto da un file .csdl.Di seguito ho elencato i 3 modi in cui puoi influenzare il codice generato.La terza opzione richiede che tu chiami EntityClassGenerator tu stesso.Puoi fare in modo che il tuo codice venga eseguito automaticamente in VS come un SingleFileGenerator utilizzando questa tecnica presentato da Sanjay.

  1. Aggiungi codice ai tipi tramite classi parziali
  2. Aggiungi il codice al metodi parziali che vengono chiamati dalle classi generate
  3. Agganciare il eventi di generazione del codice per inserire il codice direttamente nelle proprietà e nei tipi man mano che vengono generati.Vedi quello di Danny post sul blog per un esempio

Aggiungerò che non solo puoi affrontare la tua lezione classi parziali a quelli emessi dall'Entity Framework, ma puoi anche scrivere tutti i metodi parziali creato dal codice generato.

CIOÈ.Ci sarà molto codice di metodo parziale che verrà chiamato, ma il metodo stesso nel codice generato non è realmente implementato.Per questo puoi scrivere un metodo parziale per catturare eventi quando le proprietà cambiano e simili.Non è un modo terribile di gestire alcune regole aziendali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top