Non ho idea di quali situazioni rendono senso per ciascuno o quale fosse il loro intento
Non significa sembrare maleducato, ma hai dato un'occhiata a MSDN/ASP.NET per scoprirlo? Ci sono molte informazioni in giro. E c'è uno lotto in ognuno di quei modelli, più di quanto io possa entrare qui. C'è una pagina MSDN per ognuno di questi.
Detto questo, ti darò un sommario rapido , quindi le persone che inciampano qui hanno qualche informazione.
ADO.NET Entity Data Model
Questo è il file si crea per utilizzare Entity Framework come ORM, ed è obbligatorio per l'utilizzo di EF. Ne hai bisogno prima di usare qualcuno degli altri. È possibile creare l'EDM con un certo numero di approcci diversi, tra cui database prima (generare da DB), in codice prima, Model-First, ecc
servizio basato su Database
ho non ho mai sentito parlare di questo termine, e dato che ho lavorato con EF molto ultimamente (e sto leggendo), dubito che questo sarà collegato a EF.
ADO.NET EntityObject Generator
genera le classi per i soggetti che ereditano dalla classe EntityObject. Identico al generatore di codice EF predefinito, tranne che per inserire il codice di output nel file Model.edmx.designer.cs (predefinito), il codice viene inserito in file separati. Personalmente non vedo alcun vantaggio in questo modello.
ADO.NET Entity Self-tracking Generator
genera le classi per le persone quando si desidera sviluppare applicazioni n-tier (cioè se si vuole consentire a un WCF/app Silverlight per lavorare con il vostro modello). Le entità sono configurate per essere 'tracciabili' dal grafico EF, al fine di gestire le operazioni di persistenza da varie applicazioni.
ADO.NET C# POCO Entity Generator
mio preferito. :) Genera classi per entità che ereditano da niente. Non hanno idea di essere usati per la persistenza. Usalo per le applicazioni quando vuoi ignoranza di persistenza, testabilità e accoppiamento lento dei tuoi livelli dominio/persistenza.
Hai anche l'opzione di "Primo codice" ora solo per complicare di più le cose anche se al momento è solo un CTP. –