DbContext
est une nouvelle classe qui a été ajoutée dans le récent téléchargement séparé par l'équipe EF. Elle ne fait actuellement pas partie du noyau de EF 4.0. Cependant, DbContext
aller de l'avant serait la meilleure façon d'interagir avec EF.
En quoi est-il différent de ObjectContext
? Eh bien, sémantiquement, ils sont exactement les mêmes, mais ils ont réduit beaucoup de bruit supplémentaire qui ObjectContext
avait. Comme l'exposition d'un ensemble exigeait plus de travail, par exemple :
public ObjectSet<Customer> Customers
{
get { return db.CreateObjectSet<Customer>(); }
}
Avec DbContext
vous pouvez faire :
public DbSet<Customer> Customers { get; set; }
En gros, sur le ObjectContext
lorsque vous faites le point ( .
), tout est juste là, ce qui rend la liste assez énorme. Ce que l'équipe EF voulait exposer sur DbContext
sont des entités qui ne sont spécifiques qu'à votre domaine et le reste de la capacité du cadre est rangé sous différentes propriétés. Cela rend simplement l'expérience de programmation plus facile.
Cela signifie que si vous utilisez ObjectContext
dès maintenant, avec un peu de code, vous pouvez facilement passer à DbContext
.
0 votes
Avez-vous téléchargé le CTP ? Je crois qu'il utilise un espace de nom comme System.Data.Entities.CTP ou quelque chose comme ça...
0 votes
Je ne l'ai pas fait. Mais je me suis renseigné sur ObjectContext. Comme c'est pour un système de production, je ne peux pas utiliser CTP.
5 votes
NB Je sais que c'est évident mais
System.Data.Linq.DataContext
est de LINQ To Sql etDbContext
vient d'Entity Framework