Tôi đang sử dụng khung pháp nhân để tạo đơn đặt hàng mới. Trình tự chứa một tập hợp các địa chỉ liên hệ, một mối quan hệ nhiều đến nhiều. Tôi muốn thêm một tham chiếu đến một liên hệ hiện có theo thứ tự khi tạo đơn đặt hàng. Cả hai thứ tự và liên hệ với một đối tượng thực thể.Sử dụng khung pháp nhân để thêm thực thể hiện có vào bộ sưu tập trên thực thể mới được tạo
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();
Khi tôi đi đến đính kèm, ngoại lệ này được ném:
"Đính kèm không phải là một hoạt động có hiệu lực khi đối tượng nguồn kết hợp với cuối liên quan này là một bổ sung, xóa, hoặc trạng thái tách rời đối tượng. được tải bằng cách sử dụng tùy chọn hợp nhất NoTracking luôn được tách ra. "
Tôi biết tôi có thể thiếu một bước hoặc không hiểu hoàn toàn cách khung thực thể xử lý mối quan hệ nhiều với nhiều.
Hoặc bạn có thể tạo ra một thực thể còn sơ khai (với phím bạn biết) hãy cắm chúng đến bối cảnh (không phải là bộ sưu tập) và sau đó Thêm sub vào bộ sưu tập . Xem Mẹo 26 để biết thêm: http://blogs.msdn.com/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx –
Tuyệt vời! Vâng, những gì anh ta nói. –