Je suis un tutoriel par Scott Gu qui fait référence à une classe nommée DbContext. Je ne peux pas le trouver sur un espace de noms sur le framework 4 et il me semble qu'il a été renommé de CT4 DbContext en .net4 System.Data.Linq.DataContext. Est-ce que mon hypothèse est correcte?Est-ce que DbContext est identique à DataContext?
Répondre
DbContext
est une nouvelle classe qui a été ajoutée dans le téléchargement séparé récemment par l'équipe EF. Il ne fait actuellement pas partie du noyau EF 4.0. Cependant DbContext
aller de l'avant serait la façon préférée d'interagir avec EF.
Alors, comment est-il différent de ObjectContext
? Bien sémantiquement, ils sont exactement les mêmes mais ils ont réduit beaucoup de bruit supplémentaire que ObjectContext
avait. Comme l'exposition d'un ensemble requis 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
, quand vous faites point (.
), tout est là qui rend la liste assez énorme. Qu'est-ce que l'équipe EF voulait réellement exposer sur DbContext
sont des entités qui ne sont spécifiques à votre domaine et reste de la capacité de l'infrastructure est caché sous différentes propriétés. Cela facilite simplement l'expérience de programmation.
Cela signifie que si vous utilisez ObjectContext
dès maintenant, avec un peu de code, vous pouvez facilement passer à DbContext
.
Toute idée quand il sera fusionné dans la branche principale du cadre? –
EF 4.1 a été publié en date du 11 avril 2011. Pour plus de détails, voir http://blogs.msdn.com/b/adonet/archive/2011/04/11/ef-4-1-released.aspx. – villecoder
Cela ne vous lie-t-il pas à EF pour l'ensemble de votre projet, disons que vous aviez un Business Layer? – Coops
Il est un peu trop tard, mais pour les Googlers. DbContext
est utilisé pour EF
(EntityFramework) et DataContext
est utilisé pour L2S
(LINQ to SQL).
- 1. Est-ce que "extend self" est identique à "module_function"?
- 2. Est-ce que $ PROGRAM_NAME est identique à 0 $ en ruby?
- 3. Pourquoi mon DbContext DbSet est-il nul?
- 4. CFBundleIconFiles est-il identique à Icon File?
- 5. EF DbContext et StructureMap portée
- 6. Bind Visibilité à autre source que DataContext
- 7. Est-ce que HttpCookie.Name est identique à la chaîne dans Response.Cookies [string]?
- 8. Est-ce que `internal 'est identique à` public` pour un seul projet?
- 9. Est-ce que if (document.getElementById ('quelque chose')! = Null) est identique à if (document.getElementById ('quelquechose'))?
- 10. Est-ce que 1,0em est identique à 100% pour les tailles de police?
- 11. window.location() est-il identique à une requête GET?
- 12. JPA: @PrimaryKeyJoinColumn (...) est-il identique à @JoinColumn (..., insérable =?, Updatable =?)?
- 13. Avec CTE est identique aux tables temporaires?
- 14. L'index Oracle est défini de manière identique à la contrainte
- 15. Échapper à DataContext
- 16. DataContext à DB
- 17. Est-ce que Linq est plus rapide, plus lent ou identique?
- 18. Booléen dans ifdef: est-ce que "#ifdef A && B" est identique à "#if defined (A) && defined (B)"?
- 19. ASP.NET Créer une vue identique à Modifier?
- 20. Détecter si l'entité est attachée à un datacontext
- 21. Quel est l'avantage de disposer d'un LINQ à SQL DataContext?
- 22. DataContext du contrôle utilisateur WPF est nul
- 23. Entity Framework Code Première - Aucune méthode Detach() sur DbContext
- 24. nhibernate datacontext
- 25. EventToCommand/DataContext
- 26. Branches ont apparemment divergé, mais l'histoire me commettre est identique
- 27. Est-ce qu'un identificateur VFP unique est identique à un Guid?
- 28. Recherche de police qui est identique sur Windows & navigateur
- 29. Enregistrer le type générique dans DbContext EF4 CTP5
- 30. LINQ DataContext
avez-vous téléchargé le CTP? Je crois qu'il utilise un espace de noms comme System.Data.Entities.CTP ou somesuch ... – AllenG
Je n'ai pas. Mais j'ai découvert ObjectContext. Comme c'est pour un système de production, je ne peux pas utiliser CTP. –
NB Je sais son évidente mais 'System.Data.Linq.DataContext' est de LINQ sql et' DbContext' est de Entity Framework –