È molto simile all'anwer che ho ricevuto su un similar question. Ma nel tuo caso vuoi personalizzare il modificatore di accesso delle classi, piuttosto che ObjectContext.
Adattato dopo la risposta di HVD:
Il progettista ha l'opzione "Aggiungi Generazione di codice del lotto". Se lo usi, otterrai diverse opzioni. Sto usando "ADO.NET Self-Tracking Entity Generator", ma allo stesso modo funziona per tutti loro. Scegliendo questo aggiungi due file modello (Model.tt e Model.Context.tt) al progetto, che sei libero di modificare come meglio credi. Per la modifica si sta chiedendo, troverete una generazione di codice per le classi di entità pari o vicino alla riga 37. Modifica
< # = Accessibility.ForType (entità) #> < # = code.SpaceAfter (code.AbstractOption (entità)) #> classe parziale ...
a
classe parziale ...
Per il tipo complesso, esiste una riga simile più avanti: cancella anche la parte prima di "parziale".
Questo imposterà i modificatori di accesso per tutti i tipi contemporaneamente, inclusi i tipi futuri. Per personalizzare i singoli tipi è meglio utilizzare il browser del modello.
Sarà necessario impostare la proprietà "Accesso contenitore entità" del modello stesso anche all'interno, altrimenti verranno generati membri con modificatori di accesso incompatibili.
fonte
2012-03-01 11:38:02
Sono a conoscenza della finestra Proprietà, ma non mi consente di selezionare più entità e impostare il loro modificatore di accesso allo stesso tempo. Devo farlo uno per uno. Credo di aver bisogno di guardare i modelli T4. –
Apre il file EDMX con l'editor XML (è un semplice file XML) e sostituisce il batch lì. Fatto in 20 secondi. –
Sì, stavo per trovare un'altra soluzione permanente (in cui i modificatori non sarebbero stati sostituiti dalla rigenerazione del codice), ma va bene lo stesso. –