Is DbContext hetzelfde als DataContext?

Ik volg een tutorial van Scott Gudie verwijst naar een klasse met de naam DbContext. Ik kan het op geen enkele naamruimte in Framework 4 vinden en het lijkt mij dat het is hernoemd van CT4 DbContext naar .net4 System.Data.Linq.DataContext. Klopt mijn aanname?


Antwoord 1, autoriteit 100%

DbContextis een nieuwe klasse die is toegevoegd in de recente afzonderlijke download door het EF-team. Het maakt momenteel geen deel uit van de kern EF 4.0. Maar DbContextvooruitgaan zou de beste manier zijn om met EF te communiceren.

Dus waarin verschilt het van ObjectContext? Nou, semantisch zijn ze precies hetzelfde, maar ze verminderden veel extra ruis die ObjectContexthad. Zoals het belichten van een set meer werk vergde, bijvoorbeeld:

public ObjectSet<Customer> Customers
{
    get { return db.CreateObjectSet<Customer>(); }
}

Met DbContextkunt u het volgende doen:

public DbSet<Customer> Customers { get; set; }

Eigenlijk op de ObjectContext, als je een punt (.) gebruikt, is alles precies goed, wat de lijst behoorlijk groot maakt. Wat het EF-team eigenlijk wilde laten zien op DbContextzijn entiteiten die alleen specifiek zijn voor uw domein en de rest van het vermogen van het framework is weggestopt onder verschillende eigenschappen. Het maakt de programmeerervaring alleen maar gemakkelijker.

Dit betekent dat als u op dit moment ObjectContextgebruikt, met een klein beetje code, u eenvoudig naar DbContextkunt gaan.


Antwoord 2, autoriteit 14%

Het is een beetje te laat, maar voor de googlers. DbContextwordt gebruikt voor EF(EntityFramework) en DataContextwordt gebruikt voor L2S( LINQ To SQL).


Antwoord 3

DbContext

  • een van EntityFramework’sklassen.
  • vertegenwoordigt een Sessie tussen uw programma & een database.
  • staat uw programma toe om & gegevens ophalen van/naar een database.

DataContext

  • een klasse die u in uw programma maakt en die overneemt van DbContext.
  • gebruik DataContextom gegevens lokaal in uw programma op te halen of bij te werken.
  • push vervolgens wijzigingen (met behulp van methoden uit de overgenomen DbContext) naar de eigenlijke database om deze bij te werken.

Other episodes