Stiamo avviando un nuovo prodotto basato sul Web in cui intendiamo esporre la nostra logica aziendale tramite i servizi WCF. Useremo ASP.NET 4.0, C #, EF 4.0. In futuro vogliamo build applicazioni iphone e applicazioni WPF basate sui servizi. Ho letto molto sull’utilizzo di POCO vs Self Tracking Entities (STE) e da quanto ho capito gli STE non funzionano bene con lo scenario web. Qualcuno può fare più luce su questo problema?
Per me STE è un concetto assolutamente sbagliato. È solo un’altra implementazione di DataSet.
Le quadro di tracciamento automatico funzionano perfettamente in un MVC Web con scenario WCF. Sono stato coinvolto in 2 progetti che li utilizzano (uno in produzione, uno quasi).
Con POCO perderai qualsiasi tracciamento delle modifiche sul filo che crea un sacco di dolore in più perché EF ora deve richiedere nuovamente informazioni sullo stato. Se stai usando EF e WCF STE risolvi un sacco di problemi e rendi la tua intera pipeline di persistenza davvero fluida.
Potete fornire una citazione per questo reclamo? “STE non funzionano bene con lo scenario web”
Fare riferimento a http://msdn.microsoft.com/en-us/data/jj613924.aspx , poiché STE non è più consigliato! Microsoft consiglia l’utilizzo di API Web ASP.NET, WCF Data Services o Entity Framework API (operazioni complesse)
Se questo servizio verrà utilizzato da qualsiasi app su cui non hai il controllo diretto, dovresti probabilmente considerare seriamente il divorzio da qualsiasi cosa con EF (o nibernate o Linq2Sql o qualsiasi altra soluzione di gestione della persistenza dei dati) dai tuoi servizi e dai tuoi dati trasferire oggetti. Ciò isolerà i cambiamenti interni dai clienti in avaria. Rompere i clienti è in genere una brutta cosa.