Uso VS 2008 & .NET 3.5 SP1:WCF, Entity Framework e dati Contratti
sto usando WCF per consentire ai client di connettersi a un servizio che legge e scrive le voci del database che utilizzano Entity Framework. Per impostazione predefinita, le entità generate automaticamente dal database hanno l'attributo DataContract applicato.
Sfortunatamente molti dei campi esposti non sono destinati al consumo da parte del cliente (ad esempio - record di chi accede a quali dati, ecc.) E per motivi di sicurezza preferisco che non vengano esposti. Esiste un modo per evitare che le classi Entity Framework vengano esposte in questo modo?
Nota: Questo non è un duplicato di How to prevent private properties in .NET entities from being exposed as public via services?. In questa domanda l'utente desidera visualizzare in modo selettivo determinati campi, mentre vorrei che l'entità non venisse mai esposta come un DataContract.
Grazie in anticipo.
Questo potrebbe essere simile a un altro messaggio a cui non è stata data una risposta completa: "Wcf e ADO entity framework", http://stackoverflow.com/questions/828302/wcf-and-ado-entity-framework – Malcolm
Sono d'accordo con rispondi al link "wcf e ADO entity framework" che hai fornito. O potresti implementare una sorta di modello di repository. – NikolaiDante
@Nath - Sono assolutamente d'accordo con la risposta sul "wcf e ADO entity framework", ma sfortunatamente non risolve il mio problema. Il primo punto della risposta è "Auto generate entità entità entità", che esporrà i dati che desidero mantenere privati come DataContracts. Un modello di repository avrebbe lo stesso problema se fosse supportato da un modello EF generato in questo modo - a meno che non manchi qualcosa? – Malcolm