Ошибка LinqToSQL: операция недопустима из-за текущего состояния объекта - PullRequest
12 голосов
/ 13 января 2010

Во время команды обновления я получил следующую ошибку:

Операция недействительна из-за текущего состояния объекта

Я попытался удалить один столбец из команды обновления, и он работает нормально. Этот столбец является FK, который похож на другой FK, который отлично работает.

Это код, который выполняет обновление:

                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();

Ответы [ 2 ]

5 голосов
/ 06 сентября 2013

Ответ гранаты действительно помог мне, потому что я сталкивался с этим исключением при попытке переназначения внешнего ключа. Отношение / ограничение препятствовало переназначению ключа.

Однако я смог получить прямой доступ к элементу связи и переназначить его, переназначив тем самым внешний ключ.

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

product.Manufacturer = new Manufacturer(manufacturerID);
//or
product.Manufacturer = OtherManufacturer;
0 голосов
/ 13 января 2010

Проблема может быть вызвана отношениями или другими ограничениями. Например, если вы пытаетесь удалить строку с идентификатором, на которую ссылается какая-то другая таблица со связью. Возможно, если вы опубликуете запрос SQL или LINQ, который выдает ошибку, мы можем вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...