Code First er ikke en metode at tilgå databasen på, men en metode at definere databasen på.
Bort set fra det, så lyder det til, at vi har en fælles forståelse af, hvordan det hænger sammen :). Dog vil jeg definere Code First, som at definere tabeller i datbasen via kode, ikke udenom kode.
Ja, jeg har kun arbejdet med Code First, fordi jeg typisk har arbejdet med nye projekter. Dog har jeg, for 2-3 år siden som et eksperiment, prøvet at generere klasser ud fra en eksisterende database, men hvordan man holder en eksisterende DataContext synkroniseret med en database uden Code First, ved jeg ikke. Da jeg forsøgte mig med det, fandtes der kun en one-shot løsning til denne problemstilling (som var en add-in til VS). Der er dog løbet meget vand under broen siden da, så det kan være der findes en løsning på dette nu.
Jeg tænker dog stadig, at det må kunne lade sig gøre at skifte til Code First, når du først har fået genereret dine klasser ud fra databasen i første omgang. Således kan du vedligeholde dit databaseschema via Code First fremefter. Tjek lige dette link (hvis du ikke allerede har gjort det):
http://msdn.microsoft.com/en-us/data/dn579398