Estoy siguiendo un tutorial por Scott Gu que se refiere a una clase llamada DbContext. No puedo encontrarlo en ningún espacio de nombres en el marco 4 y me parece que se renombró de CT4 DbContext a .net4 System.Data.Linq.DataContext. ¿Mi suposición es correcta?¿DbContext es lo mismo que DataContext?
Respuesta
DbContext
es una nueva clase que se agregó en la descarga separada reciente por el equipo de EF. Actualmente no forma parte del núcleo EF 4.0. Sin embargo, DbContext
avanzar sería la forma preferida de interactuar con EF.
Entonces, ¿cómo es diferente de ObjectContext
? Bueno, semánticamente son exactamente lo mismo pero redujeron mucho ruido adicional que tenía ObjectContext
. Al igual que la exposición de un conjunto necesario más trabajo, por ejemplo:
public ObjectSet<Customer> Customers
{
get { return db.CreateObjectSet<Customer>(); }
}
Con DbContext
que puede hacer:
public DbSet<Customer> Customers { get; set; }
Básicamente en la ObjectContext
, cuando haces punto (.
), todo lo que es justo allí, lo cual hace la lista bastante grande. Lo que el equipo de EF realmente quería exponer en DbContext
son entidades que son solo específicas de su dominio y el resto de la capacidad del marco se encuentra bajo diferentes propiedades. Simplemente hace que la experiencia de programación sea más fácil.
Esto significa que si está utilizando ObjectContext
en este momento, con un poco de código, puede pasar fácilmente a DbContext
.
¿Alguna idea de cuándo se fusionará con la rama principal del framework? –
EF 4.1 se ha lanzado a partir del 11 de abril de 2011. Consulte http://blogs.msdn.com/b/adonet/archive/2011/04/11/ef-4-1-released.aspx para obtener más información. – villecoder
¿Esto no te une a EF para todo el proyecto, digamos que tienes una capa empresarial? – Coops
Es un poco tarde, pero para los googlers. DbContext
se utiliza para EF
(ADO.NET Entity Framework) y DataContext
se utiliza para L2S
(LINQ a SQL).
- 1. ¿Es '<? =' Lo mismo que 'eco'?
- 2. ¿No es 00.0 lo mismo que 0.0?
- 3. ¿Corba es lo mismo que SOA?
- 4. puntero NULL es lo mismo que desasignarlo?
- 5. ¿Es LinqToSQL lo mismo que Linq?
- 6. ¿Es dp lo mismo que dip?
- 7. ¿Currying es lo mismo que sobrecargar?
- 8. ¿Es "extend self" lo mismo que "module_function"?
- 9. ¿Es 'yield self' lo mismo que instance_eval?
- 10. YARD no es lo mismo que RDoc?
- 11. ¿Es AppendHeader exactamente lo mismo que AddHeader?
- 12. ¿Es la palabra clave 'Is' VB.NET lo mismo que Object.ReferenceEquals?
- 13. ¿Es PHP para Windows lo mismo que Linux, Mac, etc.?
- 14. ¿Es Java 1.6 lo mismo que JDK 6?
- 15. ¿Es com.sun.org.apache lo mismo que el paquete org.apache?
- 16. ¿Es el mango lo mismo que un puntero inteligente?
- 17. ¿Es "2D fft" lo mismo que dos 1D fft?
- 18. es si (variable) lo mismo que si en Objective-C
- 19. es StringComparison.Ordinal lo mismo que InvariantCulture para probar la igualdad?
- 20. ¿Es int lo mismo que unsigned o signed?
- 21. ¿Es ReferenceEquals (null, obj) lo mismo que null == obj?
- 22. ¿Window.location() es lo mismo que una solicitud GET?
- 23. JPA: es @PrimaryKeyJoinColumn (...) lo mismo que @JoinColumn (..., insertable =?, Updatable =?)?
- 24. es SSIS inserción masiva lo mismo que una inserción masiva
- 25. ¿Es OpenJDK JVM lo mismo que Oracle Java SE JVM?
- 26. ¿Calloc (4, 6) es lo mismo que calloc (6, 4)?
- 27. es `hg forget` lo mismo que` git rm --cached`?
- 28. Encoding.Default no es lo mismo que ninguna codificación en File.ReadAllText?
- 29. Acceda a DbContext desde IQueryable
- 30. lo que es "$$" en PHP
¿descargó el CTP? Creo que usa un espacio de nombres como System.Data.Entities.CTP o somesuch ... – AllenG
No lo he hecho. Pero descubrí sobre ObjectContext. Como esto es para un sistema de producción, no puedo usar CTP. –
NB Sé que es obvio pero 'System.Data.Linq.DataContext' es de LINQ To Sql y' DbContext' es de Entity Framework –