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%
DbContext
is 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 DbContext
vooruitgaan 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 ObjectContext
had. Zoals het belichten van een set meer werk vergde, bijvoorbeeld:
public ObjectSet<Customer> Customers
{
get { return db.CreateObjectSet<Customer>(); }
}
Met DbContext
kunt 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 DbContext
zijn 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 ObjectContext
gebruikt, met een klein beetje code, u eenvoudig naar DbContext
kunt gaan.
Antwoord 2, autoriteit 14%
Het is een beetje te laat, maar voor de googlers. DbContext
wordt gebruikt voor EF
(EntityFramework) en DataContext
wordt 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
DataContext
om 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.