Es posible exponer tabla de unión como una entidad pero no es común/necesario:
- Eliminar muchos- relación de muchos a
Product
y Order
entidades
- Crea Te New
ProductOrder
entidad en el diseñador (ya sea mediante el uso de la caja de herramientas o el menú contextual)
- definir dos propiedades en su nueva entidad correspondiente a claves externas definidas en su tabla de unión -
ProductId
, OrderId
- asegúrese de que ambas están marcadas como clave de entidad (que debe ser clave primaria compuesta en la base de datos) y tienen el mismo tipo que PK
- detalles Abrir Mapeo y el mapa de su nueva entidad a la tabla de unión
- Crea dos nuevas asociaciones de uno a muchos. El frist entre
Product
y ProductOrder
y el segundo entre Order
y ProductOrder
.
- En la ventana de la propiedad de cada relación añadido establecieron restricciones de referencia (as described also here).
hay posibilidad muy grande de que si necesita este que está haciendo algo mal.
¿Por qué te Necesitará eso, hará que la interacción con objetos sea mucho más compleja. EF por defecto oculta estas tablas de unión puras por la relación correcta de muchos a muchos. –
@Ladislav: gracias por la respuesta rápida. En realidad, tengo que hacer un poco de lógica comercial en la tabla de muchos a muchos. Y lo estoy haciendo por o verlling the: public int Método SaveChanges (SaveOptions options) de ObjectContext. De alguna forma podemos obtener este nombre de tabla al igual que obtenemos un nombre de tabla para una entidad que usa el método ToTraceString(). mira esto: http://stackoverflow.com/questions/1895455/ – Baig
una tabla de unión pura no es una entidad comercial, sino simplemente una forma de expresar una relación 'muchos a muchos 'en SQL (es por eso que EF lo oculta) . Por lo tanto, 'hacer lógica de negocios en esta tabla' no tiene sentido. Tal vez podría describir su escenario con más detalle, y podría haber una mejor solución para su problema. – Yakimych