Estoy utilizando el marco Entidad para crear un nuevo pedido. La orden contiene una colección de contactos, una relación de muchos a muchos. Quiero agregar una referencia a un contacto existente en el pedido en la creación del pedido. Ambos ordenan y contactan objetos de una entidad.Uso del marco de entidad para agregar entidades existentes a una colección en una entidad recién creada
Order order = new Order();
//set details on order
Contact contact = new Contact();
EntityKey contactKey =
new EntityKey("OrderDetails.Contact",
"contact_id", contact.Key.Id);
contact.EntityKey = contactKey;
contact.contact_id = contact.Key.Id;
order.Contact.Attach(contact); // throws an exception!
OrderDetails ordTable = new OrderDetails();
ordTable.AddToOrder(order);
int result = orgTable.SaveChanges();
Cuando voy a adjuntar, esta excepción se lanza:
"ATTACH no es una operación válida cuando el objeto de origen asociado con este fin relacionado está en un añadido, eliminado o estado separado objetos. cargados usando la opción de fusión NoTracking siempre están separados. "
Sé que probablemente me esté perdiendo un paso o no entiendo completamente cómo la entidad marco maneja las relaciones de muchos a muchos.
O puede crear una entidad talón (con la tecla sabes) adjuntar que con el Contexto (no la colección) y luego añadir el sub a la colección . Consulte la sugerencia 26 para obtener más información: http://blogs.msdn.com/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx –
Brilliant! Sí, lo que dijo. –