Tengo una base de datos con una tabla para pedidos activos y otra para pedidos inactivos. Me gustaría modelar esto en Entity Framework como una entidad llamada Orders. También necesito una forma de determinar si un pedido en esta colección está activo o no, preferiblemente al tener una propiedad de estado en la entidad que se establece de acuerdo con la tabla en la que se encuentra. ¿Hay alguna forma de hacerlo utilizando Entity Framework 1. Qué sobre en Entity Framework 4?Entity Framework asigna múltiples tablas a una entidad
Respuesta
Eche un vistazo a la herencia Table Per Concrete Type.
Se describe here en ADO.NET Team Blog.
Si entiendo que tanto las órdenes activas como las inactivas compartirían las mismas propiedades (por ejemplo: ambas tendrían una propiedad de "cantidad" decimal) si este es el caso, entonces en EF 1, estoy bastante seguro de que esto es imposible. Creo que tendrá que recurrir a Mapear sus entidades a un objeto Pedidos de POCO.
Creo que esto es lo que busca: How to: Define a Model with Multiple Entity Sets per Type (Entity Framework)
"El modelo de datos Entidad (EDM) permite un tipo de entidad que se incluirán por entidad de múltiples conjuntos dentro de un único contenedor entidad o para un tipo de entidad que se incluido en conjuntos de entidades en contenedores de múltiples entidades. La definición de conjuntos de entidades múltiples por tipo (MEST) permite a los usuarios racionalizar su código cuando las bases de datos tienen particiones u otros escenarios en los que múltiples tablas tienen la misma estructura ".
Vi este artículo antes. Sin embargo, esto no cubre lo que necesito. Aunque la entidad del Cliente contiene datos de la tabla CustomerWest y CustomerEast, no puede volver más tarde y mirar a un cliente y determinar su región. En mi caso, necesito una forma de ver una orden y decir si está activa o no. –
Puede crear una vista en su base de datos y generar la entidad a partir de eso.
Una buena forma de hacer una entidad que comparte varias tablas es usar División de entidades. MSDN tiene un tutorial muy simple que lo guiará a través del proceso, que es muy fácil, sin embargo, es posible que deba reformar su modelo de datos: http://msdn.microsoft.com/en-us/data/jj715646.aspx
- 1. Entity Framework no anulable se asigna a una anulable propiedad de entidad
- 2. Entity Framework con múltiples edmx
- 3. Tablas localizadas y Entity Framework
- 4. Generación Entity Framework faltando una entidad
- 5. ¿Cómo crear una entidad de solo lectura en Entity Framework?
- 6. Agregar o condición a la entidad en Entity Framework
- 7. Bloqueo de tablas en Entity Framework
- 8. Entity Framework - Obtener lista de tablas
- 9. Entity framework - Todas las tablas en un solo archivo edmx
- 10. Entity Framework - Inserción en varias tablas usando la clave externa
- 11. Entity Framework 4.1 Código Primero no crear tablas
- 12. Oracle Entity Framework - Generar Entidad de las tablas en diferentes esquemas de
- 13. Entity Framework CTP5 (Código primero) Modelado - tablas de búsqueda
- 14. Entity Framework 4.1 para gran número de tablas (715)
- 15. Entity Framework Design - Múltiples "Vistas" para los datos
- 16. Cómo agregar entidad existente como una nueva entidad con Entity Framework
- 17. Entidad framework linq query Include() entidades múltiples hijos
- 18. Entidad framework PostgreSQL
- 19. Entity Framework 4 - Herencia
- 20. Múltiples relaciones de uno a muchos con Entity Framework
- 21. Entity Framework: ¿cómo unir tablas en columnas de clave no primaria en tablas secundarias?
- 22. Código Entity Framework Primero configure el esquema por entidad
- 23. Entity Framework: ¿Cómo poner múltiples procedimientos almacenados en una transacción?
- 24. Entity Framework Muchos a muchos CRUD
- 25. Agregar una propiedad personalizada a Entity Framework?
- 26. proyecciones de Entity Framework
- 27. Asigna múltiples propiedades Json?
- 28. Entity framework y VARBINARY
- 29. ¿Cómo puedo obtener Id de entidad insertada en Entity framework?
- 30. Entidad Framework 4.1 - Override Entity (DBSet) con Filter
Esto no parece ser lo que necesito. En ese ejemplo, crearon una entidad separada de Productos discontinuados. Quiero usar una entidad Order pero tengo que contener los datos de dos tablas diferentes. –
Pruebe el enfoque DefiningQuery. Escriba DefiningQuery con UNION y agregue una columna de expresión que devuelva el tipo de orden. Asegúrese de que los tipos de teclas principales coincidan. En caso de que necesite una oportunidad para modificar las entidades, escriba las funciones de modificación necesarias. Para esto, puede usar CommandText o escribir los procedimientos en su DB. – Devart