2010-01-13 37 views
12

Trong một lệnh cập nhật tôi nhận được lỗi sau:LinqToSQL Lỗi: Operation là không hợp lệ do tình trạng hiện thời của đối tượng

Operation is not valid due to the current state of the object

tôi đã cố gắng để loại bỏ một cột từ lệnh cập nhật và nó hoạt động tốt. Cột này là một FK tương tự như FK khác hoạt động tốt.

Đây là mã mà thực hiện cập nhật:

   ti.NumeroTitolo = titolo.Numero; 
       ti.RKTipoTitoloGenereTitolo = titolo.RkTipoTitoloGenereTitolo; 
       ti.RKBanca = titolo.RkBanca; 
       ti.DataScadenza = titolo.DataScadenza; 
       ti.RKTipoEsito = titolo.RkTipoEsito; 
       ti.ImportoTitolo = titolo.ImportoTitolo; 

       _dc.SubmitChanges(); 
+1

Sẽ là một trợ giúp lớn nếu bạn bao gồm câu lệnh cập nhật L2S. –

Trả lời

0

Vấn đề có thể được gây ra bởi một mối quan hệ hoặc hạn chế khác. Ví dụ: nếu bạn đang cố gắng xóa một hàng có Id được tham chiếu bởi một số bảng khác có mối quan hệ. Có lẽ nếu bạn đăng truy vấn SQL hoặc LINQ đang đưa ra lỗi, chúng tôi có thể giúp bạn nhiều hơn.

+0

Tôi đã thêm mã –

5

Câu trả lời của Grenade thực sự đã giúp tôi vì tôi đã gặp ngoại lệ này khi cố gắng chỉ định lại khóa ngoại. Mối quan hệ/ràng buộc đã ngăn cản việc chuyển giao chìa khóa.

Tuy nhiên, tôi có thể truy cập trực tiếp vào mục mối quan hệ và gán lại nó, do đó chỉ định lại khóa ngoại.

product.manufacturer_id = manufacturerID; //This caused the above exception 

product.Manufacturer = new Manufacturer(manufacturerID); 
//or 
product.Manufacturer = OtherManufacturer; 
Các vấn đề liên quan